我注意到很多命令行工具,例如wget,都會顯示進度,因爲數字或進度條在進程完成時會前進。雖然這個問題並不是特定於語言的,但我最常使用的語言是命令行工具(C++,Node.js,Haskell),但我還沒有看到這樣做的方法。命令行工具在輸出後如何更改其輸出?
下面是一個例子,終端的作爲wget的一個單線的三個快照下載文件:
隨着其他信息,wget的顯示一個進度條(< =>),該前進,因爲它下載文件。目前下載的數據量(6363,179561,316053)和當前下載速度(10.7KB /秒,65.8KB /秒,63.0KB /秒)也更新。這是如何完成的?
理想情況下,請包含上述三種語言中的一種或多種語言的代碼示例。
我猜他們使用原生API – yizzlez
他們可能使用[ncurses的(http://invisible-island.net/ncurses/) –
Haskell有一個好的,簡單'ncurses' API:HTTPS:/ /hackage.haskell.org/package/ncurses – dfeuer