我目前正在尝试关注网络抓取教程,并且收到了红宝石错误消息“Errno :: ENOMEM:空间不足”。我找到了http://bugs.ruby-lang.org/issues/show/1063的解决方法,但我想知道是否有更永久的解决方案。我正在使用ruby 1.8.7(2010-12-23 patchlevel 330)[i386-mingw32]而且我无法更新到我怀疑会解决这个问题的新版本。只有在我尝试获取更大的页面时才会出现此问题。
当前解决方案:
class String
def to_2d_array(value)
unpack("a#{value}"*((size/value)+((size%value>0)?1:0)))
end
end
class << $stdout
alias old_write write
def write(a)
a.to_s.to_2d_array(1024).each{|little| old_write little}
end
end
答案 0 :(得分:0)
要解决我的问题,我已添加:
class String
def to_2d_array(value)
unpack("a#{value}"*((size/value)+((size%value>0)?1:0)))
end
end
class << $stdout
alias old_write write
def write(a)
a.to_s.to_2d_array(1024).each{|little| old_write little}
end
end
到最后一个结束后的irb.rb文件。