problème Ruby et Netbeans
-
13-09-2019 - |
Question
Je lis une ligne de fichiers en ligne dans un programme simple et lorsque j'imprime les lignes à l'écran la dernière ligne ne peut pas être vu à la fenêtre ouput dans Netbeans 6.5.1 IDE sur Windows XP, mais quand je exécuter le programme directement à partir de la ligne de commande comme « main.rb rubis » il n'y a pas un problème (la dernière ligne peut être vu) en utilisant Ruby .I'm 1.8.6.Here est le code entier:
File.open("songs.txt","r") do |file|
file.each do |line|
print line
end
end
La solution
Cela fonctionne mieux si vous utilisez puts
qui ajoutera une nouvelle ligne s'il terminaison est pas déjà à la fin de la ligne, forçant une chasse d'eau tampon.
Autres conseils
Je ne l'ai jamais couru à travers cela avant moi, mais je pense serait que votre dernière ligne ne dispose pas d'un saut de ligne de fuite, de sorte que la console Netbeans est pas le rinçage de la ligne. Essayez d'ajouter $stdout.flush
à la fin du programme et voir ce que arrive.
Par ailleurs, vous pouvez simplifier ce code légèrement en le réécrivant en utilisant foreach
:
File.foreach("songs.txt","r") do |file|
print line
end