0

実際に個々の行にアクセスする必要がある EventMachine を使用して、より大きな (500Mb 以上) テキスト ファイルを処理する方法を誰かが考え出したかどうか疑問に思っています。

4

1 に答える 1

0

私は答えを見つけたと思います.唯一の厄介なことは、io.getsの後にread_chunkが呼び出されることです.なぜそれが機能するのかわかりません:)

require 'eventmachine'
def process_line(line)
  puts line
end
EM.run do
  io = File.open('query_profiles.csv')
  read_chunk = proc do
    if line = io.gets
      process_line(line)
      EM.next_tick(read_chunk)
    else
      EM.stop
    end
  end
  EM.next_tick(read_chunk)
end
于 2013-04-26T00:30:18.883 に答える