首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Ruby中读取文件的最后n行?

在Ruby中,可以使用File类的foreach方法和Array类的pop方法来读取文件的最后n行。以下是一个示例代码:

代码语言:ruby
复制
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类的pushshift方法来实现只保留最后n行的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券