Un'applicazione Scala esegue alcuni processi di elaborazione dati. Sarebbe bello mostrare il progresso dell'elaborazione in percentuale a sovrascrivere il valore precedente sul cambiamento piuttosto che aggiungere un nuovo valore a ciò che è già visualizzato. Come raggiungere questo effetto? Uso Scala 2.8 su Linux.In Scala o Java, come stampare una riga in console sostituendo il suo contenuto precedente invece di accodare?
10
A
risposta
10
Le opzioni più semplici sono utilizzare il ritorno a capo senza avanzamento riga "\r"
o il carattere backspace "\u0008"
. Se si esegue il backspace, è necessario tenere traccia di quanti caratteri sono stati emessi in modo da poter eseguire il backup abbastanza (e cancellare qualsiasi eccesso). Se si effettua il ritorno a capo, è necessario riscrivere l'intera riga (e scrivere spazi per escludere eventuali eccessi).
2
Se stavate programmando in C/C++, la risposta sarebbe inequivocabilmente "ncurses".
C'è un maledizioni L'implementazione in Java si potrebbe essere interessati a:
(1 a 100) foreach {k => {Thread.sleep (200); printf ("\ r% 2d", k)}} – Eastsun