当您运行时git clone
,它会更新进度。例如,对象收到就地变化的百分比。
user@athena:~/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
这是如何实现的?它是否使用 ncurses 或更简单的东西,例如退格字符和常规字符输出的某种组合?
我对如何从 Ruby 完成这种控制台输出特别感兴趣。
编辑
我原来的问题得到了回答。但这里有一个附录。例如,当您使用 MPlayer 时,它不仅会更新一行以显示当前进度,还会更新前一行(例如,当您按下暂停键时)。
===== PAUSE =====
A: 79.9 (01:19.9) of 4718.0 ( 1:18:38.0) 0.3%
您将如何就地更新两行输出?