Rubyではファイル等の読み込み中にIO#linenoを参照することで、そのIOオブジェクトでgetsを呼び出した回数を取得できる。 これを利用すれば、getsでファイルを読み進んでいる時に、現在までに読み込んだ行数を取得したり、簡単にファイルの行数を数えることができる。
open('foo.txt'){|f|
while f.gets
puts f.lineno
end
}
上記コードの出力は以下のようになる。
1
2
3
Rubyではファイル等の読み込み中にIO#linenoを参照することで、そのIOオブジェクトでgetsを呼び出した回数を取得できる。 これを利用すれば、getsでファイルを読み進んでいる時に、現在までに読み込んだ行数を取得したり、簡単にファイルの行数を数えることができる。
open('foo.txt'){|f|
while f.gets
puts f.lineno
end
}
上記コードの出力は以下のようになる。
1
2
3