문제

간단한 프로그램에서 라인별로 파일을 읽고 화면에 선을 인쇄 할 때 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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top