Ruby and NetBeans Problem
-
13-09-2019 - |
Frage
Ich lese eine Dateizeile für Zeile in einem einfachen Programm und wenn ich die Zeilen auf dem Bildschirm drucke Direkt aus der Befehlszeile als "Ruby main.rb" gibt es kein Problem (dh die letzte Zeile ist zu sehen). Ich werde Ruby 1.8.6 verwenden. Hier ist der gesamte Code:
File.open("songs.txt","r") do |file|
file.each do |line|
print line
end
end
Lösung
Dies funktioniert besser, wenn Sie verwenden puts
Dies wird einen Newline -Terminator anhängen, wenn am Ende der Linie noch keiner vorhanden ist, was einen Pufferspüsch erzwingt.
Andere Tipps
Ich habe das noch nie vor mir selbst gelaufen, aber meine Vermutung wäre, dass Ihre letzte Linie keine Nachverfolgungspause hat, sodass die Netbeans -Konsole die Linie nicht spüle. Versuchen Sie hinzu $stdout.flush
Am Ende des Programms und sehen, was passiert.
Übrigens können Sie diesen Code geringfügig vereinfachen, indem Sie ihn verwenden foreach
:
File.foreach("songs.txt","r") do |file|
print line
end