私は現在、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