ファイルを読み込んで、その大きさを表示したい。.count は .count のように動作しています! 入力ファイルバッファのサイズを変更します。そのため、logfile.each は繰り返されません。どうしたの?
logfile = open(input_fspec)
puts "logfile size: #{logfile.count} lines"
count
カウントを行うために、入力からすべての行を読み取ります。行を再度読みたい場合 (たとえば、readline
またはを使用each
)、 を呼び出しlogfile.rewind
てファイルの先頭に戻る必要があります。
実際count
に返されるのは、まだ読み取られていない行数です。たとえば、すでにファイルを読み込んでcount
後で呼び出すと、0 が返されます。
開く前に、代わりにこれを行うことができます。
File.size("input_fspec")