阅读ruby中的文本文件行

时间:2014-02-14 04:58:01

标签: ruby file text

我想扫描文本文件中的每一行,除了第一行。

我通常会这样做:

while line = file.gets do
...
...etc
end

line = file.gets从第一行开始读取每一行。

如何从第二行开始阅读?

3 个答案:

答案 0 :(得分:1)

为什么不简单地拨打file.gets一次并丢弃结果:

file.gets
while line = file.gets
    # code here
end

答案 1 :(得分:1)

我会以简单的方式做到这一点:

IO.readlines('filename').drop(1).each do |line| # drop the first array element
  # do any proc here
end

答案 2 :(得分:0)

你真的想避免阅读第一行或避免使用它。如果您正在阅读该行但是您想避免处理它,那么您可以使用lineno在处理过程中忽略该行,如下所示

f = File.new "/tmp/xx"

while line = f.gets do
  puts line unless f.lineno == 1
end