Ruby和Netbeans问题

Ruby和Netbeans问题,ruby,netbeans,netbeans6.5,Ruby,Netbeans,Netbeans6.5,我正在一个简单的程序中逐行读取一个文件,当我将这些行打印到屏幕上时,在Windows XP上Netbeans 6.5.1 IDE的输出窗口中看不到最后一行,但当我直接从命令行以“ruby main.rb”的形式运行程序时,没有问题(即可以看到最后一行)。我使用的是Ruby 1.8.6。以下是完整的代码: File.open("songs.txt","r") do |file| file.each do |line| print line end end 我以前从未遇到过这种情

我正在一个简单的程序中逐行读取一个文件,当我将这些行打印到屏幕上时,在Windows XP上Netbeans 6.5.1 IDE的输出窗口中看不到最后一行,但当我直接从命令行以“ruby main.rb”的形式运行程序时,没有问题(即可以看到最后一行)。我使用的是Ruby 1.8.6。以下是完整的代码:

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

我以前从未遇到过这种情况,但我猜您的最后一行没有尾随行中断,因此Netbeans控制台不会刷新该行。尝试在程序末尾添加,看看会发生什么

顺便说一下,您可以使用以下方法重写此代码,从而稍微简化此代码:


如果您使用
put
,它将在行尾没有换行符时追加一个换行符,从而强制缓冲区刷新,则效果会更好

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