174 votes

Comment puis-je utiliser des "coups" sur la console sans coupure de ligne dans ruby ​​on rails?

J'ai une méthode qui passe par une boucle - je veux qu'elle produise un "." chaque boucle afin que je puisse le voir dans la console. cependant, il y a un saut de ligne à la fin de chaque utilisation de puts "." .

S'il y a un moyen pour qu'il ait juste une ligne continue?

216voto

idlefingers Points 15957

Vous devez utiliser print au lieu de put. De plus, si vous souhaitez que les points apparaissent correctement, vous devez vider le tampon stdout après chaque impression ...

 def print_and_flush(str)
  print str
  $stdout.flush
end

100.times do
  print_and_flush "."
  sleep 1
end
 

Edit: Je cherchais juste le raisonnement derrière flush pour répondre au commentaire de @ rubyprince, et j'ai réalisé que cela pourrait être nettoyé un peu en utilisant simplement $stdout.sync = true ...

 $stdout.sync = true

100.times do
  print "."
  sleep 1
end
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X