在Ruby中,可以使用File
类的foreach
方法和Array
类的pop
方法来读取文件的最后n行。以下是一个示例代码:
def read_last_n_lines(file_path, n)
lines = []
File.foreach(file_path) do |line|
lines.push(line)
lines.shift if lines.size > n
end
lines
end
file_path = "example.txt"
n = 10
last_n_lines = read_last_n_lines(file_path, n)
puts last_n_lines
在这个示例中,我们定义了一个名为read_last_n_lines
的方法,它接受文件路径和要读取的行数作为参数。我们使用File.foreach
方法逐行读取文件,并将每一行添加到lines
数组中。如果lines
数组的大小超过了n
,我们就从数组的开头删除一行。最后,我们返回lines
数组,它包含了文件的最后n行。
在这个示例中,我们使用了File.foreach
方法来逐行读取文件,这是一个非常高效的方法,因为它可以处理非常大的文件,而不会占用太多内存。同时,我们使用了Array
类的push
和shift
方法来实现只保留最后n行的功能。
腾讯数字政务云端系列直播
腾讯技术创作特训营第二季
云+社区技术沙龙[第19期]
Elastic Meetup
云+社区技术沙龙[第14期]
Techo Day
新知·音视频技术公开课
领取专属 10元无门槛券
手把手带您无忧上云