При запуске 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
Как это происходит? Использует ли он ncurses или что-то еще более простое, например, какую-то комбинацию символов backspace и обычного символьного вывода?
Меня особенно интересует, как этот консольный вывод может быть выполнен с Ruby.
ИЗМЕНИТЬ
Отвечает мой первоначальный вопрос. Но здесь добавление. Например, когда вы используете MPlayer, он не только обновляет строку, чтобы показывать текущий прогресс, но также и предыдущую строку (например, когда вы нажимаете паузу).
===== PAUSE =====
A: 79.9 (01:19.9) of 4718.0 ( 1:18:38.0) 0.3%
Как бы вы обновили две строки вывода на месте?