Comment puis-je utiliser “met” à la console sans un saut de ligne dans ruby on rails?
J'ai une méthode qui passe par une boucle -- je le veux à la sortie d'un "." chaque tour de boucle, donc je peux le voir dans la console. cependant, il met un saut de ligne à la fin de chaque lorsque j'utilise puts "."
.
Si il y a une manière de sorte qu'il a juste une ligne continue?
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser d'impression au lieu de met. Aussi, si vous voulez que les points apparaissent en douceur, vous devez rincer la sortie standard (stdout) de la mémoire tampon après chaque impression...
Edit: je viens de regarder dans le raisonnement derrière flush pour répondre à @rubyprince de commentaire, et a réalisé ce pourrait être nettoyé un peu en utilisant simplement
$stdout.sync = true
...$stdout.flush
vraiment nécessaire?..Je suis à l'aide de Ruby 1.8.7 et j'ai fait des choses juste avecprint
et je n'ai eu aucun problèmes..print
par lui-même, il peut sortir dans les blocs car il peut être stocké dans la mémoire tampon au lieu d'être écrit tout de suite (je ne sais pas exactement pourquoi). Il peut être spécifique au système d'exploitation, aussi.sync
est un excès de sortie d'une chaîne de caractères. Alors si vous avez l'application génère un lot, il sera plus lent.