2014-02-14 165 views
0

我想掃描文本文件中的每一行,除了第一行。閱讀紅寶石文本文件行

我通常會做:

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

line = file.gets讀取從第一次開始的每一個行。

如何從第二行開始讀取?

回答

1

爲什麼不能簡單地調用file.gets一次,並丟棄其結果:

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

我不明白嗎? – user3307307

+0

OH我看,好的,謝謝 – user3307307

0

你真的想避免讀取第一行或避免這樣做有它的東西。如果你是OK讀取線,但要避免處理它,那麼你可以使用LINENO處理過程中忽略線路如下

f = File.new "/tmp/xx" 

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

我想避免一起讀 – user3307307

+1

如果你知道第一行的長度,那麼你可以使用File.seek將指針移動到第2行的開頭,然後做while循環。如果你不知道長度,那麼你可能需要閱讀(並忽略)它。 –

1

我會做一個簡單的方式:

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