1

ファイルを読み込んで、その大きさを表示したい。.count は .count のように動作しています! 入力ファイルバッファのサイズを変更します。そのため、logfile.each は繰り返されません。どうしたの?

logfile = open(input_fspec) 
puts "logfile size: #{logfile.count} lines"
4

2 に答える 2

3

countカウントを行うために、入力からすべての行を読み取ります。行を再度読みたい場合 (たとえば、readlineまたはを使用each)、 を呼び出しlogfile.rewindてファイルの先頭に戻る必要があります。

実際countに返されるのは、まだ読み取られていない行数です。たとえば、すでにファイルを読み込んでcount後で呼び出すと、0 が返されます。

于 2012-05-17T15:39:31.923 に答える
1

開く前に、代わりにこれを行うことができます。

File.size("input_fspec")
于 2012-05-17T15:38:57.800 に答える