Вопрос

Я читаю файл построчно в простой программе, и когда я выводю строки на экран, последняя строка не видна в окне вывода в Netbeans 6.5.1 IDE в Windows XP, но когда я запускаю программу непосредственно из командной строки как "ruby main.rb", проблемы нет (т. е. последнюю строку можно увидеть).Я использую Ruby 1.8.6.Вот весь код :

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top