Проблема Ruby и Netbeans
-
13-09-2019 - |
Вопрос
Я читаю файл построчно в простой программе, и когда я выводю строки на экран, последняя строка не видна в окне вывода в 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