我已经在我的winxp sp3盒子上安装了ruby 1.8.6 p368和gems 1.3.4以及zlib,ssl或readline等必需的库.问题是,当我现在尝试使用一些gem时,我收到以下错误:
Exception `LoadError' at D:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1112 - no su
ch file to load -- rubygems/defaults/operating_system
Exception `LoadError' at D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.
rb:31 - no such file to load -- mysql
Run Code Online (Sandbox Code Playgroud)
似乎从修复缺少的"rubygems/defaults/operating_system"文件开始是有道理的.我怎样才能做到这一点?TIA
PS:宝石环境是
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.4
- RUBY VERSION: 1.8.6 (2009-03-31 patchlevel 368) [i386-mswin32]
- INSTALLATION DIRECTORY: D:/ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: D:/ruby/bin/ruby.exe
- EXECUTABLE DIRECTORY: D:/ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
- GEM PATHS:
- D:/ruby/lib/ruby/gems/1.8
- C:/Documents and Settings/fluffy/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources …Run Code Online (Sandbox Code Playgroud) 我需要知道该方法是否被声明为静态,因为它的名称和包含它的类的名称.method_exists提供true静态和非静态方法.
我HPE_INVALID_HEADER_TOKEN在使用request模块的特定页面上收到。根据我在Google上发现的信息,这是由服务器响应错误/格式错误引起的,但是后者不在我的控制范围内。我可以将请求配置为忽略无效的标头,还是只给我整个原始响应进行处理?
我有一个用Swing制作的简单Java GUI表单.它有一些文本输入和复选框,我希望它记住输入到这些输入的最后一个值.当然可以手动将它们保存到某个文件然后读取文件并填充输入,但我想知道是否有办法自动或多或少地执行此操作.谢谢
我正在尝试使桌面应用程序检查whois记录和其他内容,我发现一些列表将顶级域映射到whois服务器.它们通常工作,但有时必须在不同的whois服务器上找到信息.例如当主服务器com域是whois.markmonitor.com,about.com必须从"corporatedomains"取出.如何查询我应该查询某个域的哪个whois服务器?
现在这里有很多类似的问题,但我想知道,我该怎么做,如果我不想只改变location窗口,但触发任何可能绑定到click事件的函数,并且只改变hrefif他们没关系,或者只是重定向,如果没有听众的话.
例如:
var a = $('.edithost');
a.click(function() {return false;});
Run Code Online (Sandbox Code Playgroud)
我应该用鼠标点击链接,它永远不会把我带到href,所以只需重定向用户就attr('href')可以改变页面的预期行为.此外,点击不仅适用于链接,也适用于按钮,在这种情况下,我必须提交表单等.
所以我想知道,是否可以模拟单击一个元素,以便浏览器的所有行为完全相同,就好像用鼠标点击一样?
没有绑定到绑定的侦听器.
例:
var a = $('<a href="google.com">google</a>');
a.click();
a.trigger('click');
Run Code Online (Sandbox Code Playgroud)
这不会带你到谷歌,我想做到这一点.
更新:
.click()不起作用.trigger('click')太.preventDefault与此无关
想象一下,我有一堆类可以进行日志记录,所以我创建了一个logger接口和几个实现(写入文件,stdout,db等),但有时我不关心日志记录这些消息,所以我做了一个实现,只是忽略了所有的消息.
现在这有助于避免if使用s $this->logger->write($message),但我仍然必须每次都注入虚拟记录器.
因此$this->logger = $logger ? $logger : new DummyLogger(),在构造函数中执行以下操作会造成任何伤害.
我通常在构造函数中没有工作,但这种东西似乎并不太危险.
你会选择这种方法吗?
我正在尝试在发送下一个数据块之前刷新套接字:
var net = require('net');
net.createServer(function(socket) {
socket.on('data', function(data) {
console.log(data.toString());
});
}).listen(54358, '127.0.0.1');
var socket = net.createConnection(54358, '127.0.0.1');
socket.setNoDelay(true);
socket.write('mentos');
socket.write('cola');
Run Code Online (Sandbox Code Playgroud)
然而,尽管有setNoDelay选项,但这不起作用,例如打印"mentoscola"而不是"mentos \ncola".我该如何解决?
我正在从服务器写一个二进制字符串,如下所示:
header('Content-type: application/octet-stream');
echo $data = pack('C*', 0, 10, 100, 127, 128, 200, 250, 255, 256);
Run Code Online (Sandbox Code Playgroud)
并用这种方式用js和jDataView lib读取它:
$.get('/get', function(text) {
var view = new jDataView(text);
for (var i = 0; i < 20; i++) {
console.log(i, view.getUint8(i));
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我只能读取小于128的值.jDataView使用getCharCodeat来读取,Uint并为每个较大的值返回65533.
如何获取js中的值?