获取 Errno::ENOMEM:通过 Mechanize "获取"页面时空间不足



我目前正在尝试遵循网页抓取教程,并一直收到一个ruby错误消息"Errno::ENOMEM: Not enough space"。我从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

为了解决我的问题,我添加了:

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

To my irb。

相关内容

  • 没有找到相关文章

最新更新