當您運行git clone
時,它將更新進度。例如,收到的對象的百分比發生變化。終端或控制檯就地進度輸出
[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
這是怎麼acccomplished?它是否使用ncurses或更簡單的東西,如退格字符和常規字符輸出的組合?
我特別感興趣的是如何從Ruby完成這種控制檯輸出。
編輯
我原來的問題是回答。但這是一個附錄。例如,當您使用MPlayer時,它不僅會更新一行以顯示當前進度,還會更新之前的一行(例如,當您按暫停時)。
===== PAUSE =====
A: 79.9 (01:19.9) of 4718.0 (1:18:38.0) 0.3%
你會如何更新兩行輸出?
也看看http://stackoverflow.com/questions/613305/infinite-yields-from-an-iterator – vladr 2010-02-28 03:03:14
這個問題和相關的答案正是什麼使堆棧溢出很大。謝謝他們。 – num1 2011-03-21 07:18:50