Domanda

Sto leggendo un file riga per riga in un programma semplice e quando stampo le linee allo schermo l'ultima linea non può essere visto alla finestra output in NetBeans IDE 6.5.1 su Windows XP, ma quando ho eseguire il programma direttamente dalla linea di comando come "rubino main.rb" non c'è un problema (cioè l'ultima riga è visibile) .Sono usando rubino 1.8.6.Here rappresenta l'intero codice:

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

Soluzione

Questo funziona meglio se si utilizza puts, che aggiungerà un terminatore di fine riga se non c'è già uno alla fine della linea, forzando un filo di buffer.

Altri suggerimenti

Non ho mai imbattuto in questo prima di me, ma la mia ipotesi è che la linea finale non ha un'interruzione di linea finale, in modo che la console non è Netbeans Flushing la linea. Prova ad aggiungere $stdout.flush alla fine del programma e vedere che cosa accade.

A proposito, è possibile semplificare il codice leggermente riscrivendo utilizzando foreach :

File.foreach("songs.txt","r") do |file|
  print line
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top