web-dev-qa-db-ja.com

Rubyでファイル全体を読み取る方法

Rubyにループを使用せずにファイル全体を読み取る組み込み関数がありますか?これまでのところ、チャンク(行または文字)を読み取るメソッドに出くわしました。

62
Shubham
IO.read("filename")

または

File.read("filename")
91
sluukkonen
File.readlines("filename")

これは、ファイルからすべてを読み取り、キャリッジリターンで分割を解除する優れた方法でもあります。戻り値は、要素ごとに1行の配列です。

18
Nick

「ファイルをSlurp(これは迷惑な用語)にしないでください」というアドバイスは無視してください。これは非常に便利で賢明なことです。

ファイルを繰り返し読んでいるとしましょう:ファイルを配列に読み込むことは、o/sがファイルをキャッシュすることを考慮に入れても、ファイルを1行ずつ読み込むことに比べて賢明な最適化である可能性が高いです。

6
Graham Nicholls