2009-06-09 136 views
0

我正在一個簡單的程序中逐行讀取一個文件,並且當我將這些行打印到屏幕上時,Netbeans 6.5.1 IDE中的輸出窗口無法看到最後一行XP但是當我直接從命令行運行程序爲「ruby main.rb」時沒有問題(即最後一行可以看到)。我使用的是Ruby 1.8.6.Here是整個代碼:紅寶石和Netbeans問題

File.open("songs.txt","r") do |file| 
    file.each do |line| 
    print line 
    end 
end 

回答

2

這將更好地工作,如果你使用puts這將追加一個新行終結,如果有沒有一個是在結束的行,強制緩衝區刷新。

+0

感謝您的工作,因爲你說...;) – tuxmaul 2009-06-09 22:01:31

2

我以前從來沒有碰到過這個,但我的猜測是你的最後一行沒有尾隨換行符,所以Netbeans控制檯沒有刷新行。嘗試在程序結尾處添加$stdout.flush,看看會發生什麼。

順便說一句,您可以通過使用foreach重寫稍微簡化這個代碼:

File.foreach("songs.txt","r") do |file| 
    print line 
end 
+0

是的,你是對的,但我試圖$ stdout.flush之前發佈到這裏的問題,它沒有奏效。 感謝您的捷徑btw;) – tuxmaul 2009-06-09 22:03:38