确定Ruby中的最后一行

Phi*_*unt 2 ruby file-io

我想知道如何确定我何时在我阅读的文件的最后一行.我的代码看起来像

File.open(file_name).each do |line|
    if(someway_to_determine_last_line)
end
Run Code Online (Sandbox Code Playgroud)

我注意到有一个file.eof?方法,但是如何在读取文件时调用该方法?谢谢!

Leo*_*sov 6

如果你正在迭代文件each,那么最后一行将在到达文件结尾传递给块,因为根据定义,最后一行是以EOF结尾的行.

所以只需要拨打电话file.eof?.

如果您想确定它是否是文件中的最后一个非空行,您必须实现某种预读.