我正在一個簡單的程序中逐行讀取一個文件,並且當我將這些行打印到屏幕上時,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
我正在一個簡單的程序中逐行讀取一個文件,並且當我將這些行打印到屏幕上時,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
這將更好地工作,如果你使用puts
這將追加一個新行終結,如果有沒有一個是在結束的行,強制緩衝區刷新。
我以前從來沒有碰到過這個,但我的猜測是你的最後一行沒有尾隨換行符,所以Netbeans控制檯沒有刷新行。嘗試在程序結尾處添加$stdout.flush
,看看會發生什麼。
順便說一句,您可以通過使用foreach
重寫稍微簡化這個代碼:
File.foreach("songs.txt","r") do |file|
print line
end
是的,你是對的,但我試圖$ stdout.flush之前發佈到這裏的問題,它沒有奏效。 感謝您的捷徑btw;) – tuxmaul 2009-06-09 22:03:38
感謝您的工作,因爲你說...;) – tuxmaul 2009-06-09 22:01:31