0

私は現在、Web スクレイピングに関するチュートリアルに従おうとしていますが、「Errno::ENOMEM: 十分なスペースがありません」という Ruby エラー メッセージを受け取りました。http://bugs.ruby-lang.org/issues/show/1063から回避策を見つけましたが、より永続的な解決策があるかどうか疑問に思っていました。私は ruby​​ 1.8.7 (2010-12-23 パッチレベル 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
4

1 に答える 1

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 ファイルに。

于 2013-03-25T13:54:36.670 に答える