Une application Scala effectue un traitement de données. Il serait bon d'afficher la progression du traitement en pourcentages en remplaçant la valeur précédente par le changement plutôt que d'ajouter une nouvelle valeur à ce qui est déjà affiché. Comment réaliser cet effet? J'utilise Scala 2.8 sur Linux.Dans Scala ou Java, comment imprimer une ligne à la console en remplaçant son contenu précédent au lieu de l'ajouter?
10
A
Répondre
10
Vos options les plus simples consistent à utiliser le retour chariot sans saut de ligne "\r"
ou le caractère de retour arrière "\u0008"
. Si vous retournez en arrière, vous devez garder une trace du nombre de caractères que vous avez émis afin de pouvoir sauvegarder suffisamment (et effacer tout excès). Si votre retour chariot, vous devez réécrire la ligne entière (et écrire des espaces pour effacer tout excès).
2
Si vous programmiez en C/C++, la réponse serait sans équivoque "ncurses".
Il y a une malédiction implemention en Java que vous pourriez être intéressé par:
(1 à 100) foreach {k => {Thread.sleep (200); printf ("\ r% 2d", k)}} – Eastsun