문제
간단한 프로그램에서 라인별로 파일을 읽고 화면에 선을 인쇄 할 때 Windows XP의 NetBeans 6.5.1 IDE의 OUPUT 창에서 마지막 줄을 볼 수는 없지만 프로그램을 실행할 때 볼 수 없습니다. 명령 줄에서 "Ruby Main.rb"로 직접 문제가 없습니다 (즉, 마지막 줄은 볼 수 있습니다). Ruby 1.8.6을 사용하고 있습니다. 전체 코드는 다음과 같습니다.
File.open("songs.txt","r") do |file|
file.each do |line|
print line
end
end
해결책
사용하면 더 잘 작동합니다 puts
라인 끝에 아직 하나가 없으면 버퍼 플러시를 강요하는 경우 Newline 터미네이터가 추가됩니다.
다른 팁
나는 이것을 나 자신보다 먼저 가로 질러 달리지 않았지만, 당신의 최종 라인에는 후행 라인이 없어서 NetBeans 콘솔이 라인을 플러시하지 않을 것입니다. 추가 해보세요 $stdout.flush
프로그램이 끝나면 어떤 일이 일어나는지 확인하십시오.
그건 그렇고, 당신은이 코드를 사용하여 다시 작성 하여이 코드를 약간 단순화 할 수 있습니다. foreach
:
File.foreach("songs.txt","r") do |file|
print line
end
제휴하지 않습니다 StackOverflow