파일의 첫 줄부터 어떻게 루비의 텍스트 파일을 읽을 수 있습니까?Ruby가 파일의 처음부터 계속 읽음
예를 들어,이 코드 :
while line = file.gets
[code here]
end
가 마지막 줄에 첫 번째 줄에서 읽고 중지합니다.
그러나 첫 번째 줄부터 다시 시작하여 마지막 줄까지 스캔하고 싶습니다.
이 작업을 수행하는 방법은 무엇입니까?
감사합니다.
파일의 첫 줄부터 어떻게 루비의 텍스트 파일을 읽을 수 있습니까?Ruby가 파일의 처음부터 계속 읽음
예를 들어,이 코드 :
while line = file.gets
[code here]
end
가 마지막 줄에 첫 번째 줄에서 읽고 중지합니다.
그러나 첫 번째 줄부터 다시 시작하여 마지막 줄까지 스캔하고 싶습니다.
이 작업을 수행하는 방법은 무엇입니까?
감사합니다.
당신이 작성한 코드는 루비 프로그래밍에서 매우 드문, 파일이 예를 들어, Enumerable
방법을 사용하여 라인으로 라인을 읽어 대부분의 시간 :
file.each { |line| [code here] }
당신의 Enumerable#cycle
방법을 사용할 수 있다고 말했다 파일을 두 번 이상 읽으십시오. 다음 파일을 감안할 때, foo.txt
말 :
foo
bar
는 다음과 같은 코드를 사용하여 두 번 읽을 수 있습니다 : cycle
에,
open('foo.txt') do |file|
file.cycle(2) { |line| puts line }
end
# Output:
#
# foo
# bar
# foo
# bar
당신이 nil
, 또는 전혀 인수를 전달하는 경우를 영원히 파일을 읽 .
정말 아름답습니다. – sawa
감사합니다. 이것은 내가 필요한만큼 효과가 있었다. – user3307307
루비 (Ruby)는 단지 하나의 일을하기위한 몇 가지 방법을 갖고있는 것처럼 보입니다. 나는 항상 새로운 것을 발견하고 있습니다. – lurker
파일을 무제한으로 읽고 싶습니까? –
아아 나는 대답에 대한 감사를 보았다 – user3307307