Lorsque vous exécutez git clone
, la progression est mise à jour. Par exemple, le pourcentage des objets reçus change en place.Sortie de progression sur place dans le terminal ou la console
[email protected]:~/cloj/src$ git clone git://git.boinkor.net/slime.git
Initialized empty Git repository in /home/user/cloj/src/slime/.git/
remote: Counting objects: 15936, done.
remote: Compressing objects: 100% (5500/5500), done.
Receiving objects: 28% (4547/15936), 3.16 MiB | 165 KiB/s
Comment est-ce que ceci est accompli? Utilise-t-il des ncurses ou quelque chose d'encore plus simple, comme une combinaison de caractères de retour arrière et de sortie de caractères normaux?
Je suis particulièrement intéressé par la façon dont ce type de sortie de console peut être réalisé à partir de Ruby.
EDIT
Ma question originale réponse. Mais voici un addendum. Lorsque vous utilisez MPlayer, par exemple, il met non seulement à jour une ligne pour afficher la progression en cours, mais aussi la ligne précédente (par exemple lorsque vous appuyez sur pause).
===== PAUSE =====
A: 79.9 (01:19.9) of 4718.0 (1:18:38.0) 0.3%
Comment mettriez-vous à jour deux lignes de sortie sur place?
Jetez également un coup d'œil à http://stackoverflow.com/questions/613305/infinite-yields-from-an-iterator – vladr
Cette question et la réponse associée sont exactement ce qui rend le débordement de Stack génial. Merci pour eux. – num1