我想掃描文本文件中的每一行,除了第一行。閱讀紅寶石文本文件行
我通常會做:
while line = file.gets do
...
...etc
end
但line = file.gets
讀取從第一次開始的每一個行。
如何從第二行開始讀取?
我想掃描文本文件中的每一行,除了第一行。閱讀紅寶石文本文件行
我通常會做:
while line = file.gets do
...
...etc
end
但line = file.gets
讀取從第一次開始的每一個行。
如何從第二行開始讀取?
爲什麼不能簡單地調用file.gets
一次,並丟棄其結果:
file.gets
while line = file.gets
# code here
end
你真的想避免讀取第一行或避免這樣做有它的東西。如果你是OK讀取線,但要避免處理它,那麼你可以使用LINENO處理過程中忽略線路如下
f = File.new "/tmp/xx"
while line = f.gets do
puts line unless f.lineno == 1
end
我想避免一起讀 – user3307307
如果你知道第一行的長度,那麼你可以使用File.seek將指針移動到第2行的開頭,然後做while循環。如果你不知道長度,那麼你可能需要閱讀(並忽略)它。 –
我會做一個簡單的方式:
IO.readlines('filename').drop(1).each do |line| # drop the first array element
# do any proc here
end
我不明白嗎? – user3307307
OH我看,好的,謝謝 – user3307307