我如何從文件的開頭(第一行)讀取紅寶石文本文件?紅寶石從文件開頭連續讀取
例如這樣的代碼:
while line = file.gets
[code here]
end
從第一行讀取到最後一行和停止。
但是,我想從第一行再次開始,並掃描到最後一行。
任何方式來做到這一點?
謝謝。
我如何從文件的開頭(第一行)讀取紅寶石文本文件?紅寶石從文件開頭連續讀取
例如這樣的代碼:
while line = file.gets
[code here]
end
從第一行讀取到最後一行和停止。
但是,我想從第一行再次開始,並掃描到最後一行。
任何方式來做到這一點?
謝謝。
你寫的代碼是Ruby編程相當不尋常,大多數的文件被讀通過Enumerable
方法行線,例如時間:
file.each { |line| [code here] }
這就是說,你可以使用Enumerable#cycle
方法多次讀取文件。鑑於下列文件,說foo.txt
:
foo
bar
您可以使用下面的代碼讀取它兩次:
open('foo.txt') do |file|
file.cycle(2) { |line| puts line }
end
# Output:
#
# foo
# bar
# foo
# bar
如果傳遞nil
,或任何參數,以cycle
它會永遠讀取文件。
你想無限讀取文件嗎? –
啊我看到答案 – user3307307