ruby統計ファイル行数

485 ワード

arr = File.open("ri.txt").readlines 
lines = arr.size
puts "myfile has #{lines} lines in it." 
longest = arr.collect {|x| x.length}.max 
puts "The longest line in it has #{longest} characters." 

このコードは、1つのファイルに何行あるか、最大文字の1行に何文字あるかを統計します.
しかし、恐ろしいことに、すべての文字を配列に読み込んだので、このオーバーヘッドは大きいです.大きなファイルには向いていません.
今日は1億行のファイルを作成しました.1行に1文字しかありません.書くだけで長い間、読むのがもっと苦労しています.私のメモリは1 Gで、UltraEditはいっそ開けられません.