Проблема с Ruby и Netbeans

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

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

2 ответа

Решение

Это будет работать лучше, если вы используете puts который добавит терминатор новой строки, если его еще нет в конце строки, вызывая очистку буфера.

Я никогда не сталкивался с этим раньше себя, но я думаю, что ваша последняя строка не имеет конца строки, поэтому консоль Netbeans не очищает линию. Попробуйте добавить $stdout.flush в конце программы и посмотрим, что получится.

Кстати, вы можете немного упростить этот код, переписав его, используя foreach:

File.foreach("songs.txt","r") do |file|
  print line
end
Другие вопросы по тегам