Khi bạn chạy git clone
, nó sẽ cập nhật tiến trình tại chỗ. Ví dụ, tỷ lệ phần trăm của các đối tượng nhận được thay đổi tại chỗ.Đầu ra tiến độ tại chỗ trong thiết bị đầu cuối hoặc bảng điều khiển
[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
Điều này đã hoàn thành như thế nào? Liệu nó có sử dụng ncurses hoặc một cái gì đó thậm chí đơn giản hơn, giống như một số kết hợp của các ký tự backspace và đầu ra ký tự thường xuyên?
Tôi đặc biệt quan tâm đến cách loại đầu ra bàn điều khiển này có thể được hoàn thành từ Ruby.
EDIT
Câu hỏi ban đầu của tôi được trả lời. Nhưng đây là phụ lục. Ví dụ: khi bạn sử dụng MPlayer, nó không chỉ cập nhật một dòng để hiển thị tiến độ hiện tại, mà còn là dòng trước đây (ví dụ: khi bạn nhấn tạm dừng).
===== PAUSE =====
A: 79.9 (01:19.9) of 4718.0 (1:18:38.0) 0.3%
Bạn sẽ cập nhật hai dòng đầu ra tại chỗ như thế nào?
Ngoài ra, hãy xem http://stackoverflow.com/questions/613305/infinite-yields-from-an-iterator – vladr
Câu hỏi này và câu trả lời được liên kết chính xác là điều khiến Stack tràn tuyệt vời. Cảm ơn bạn vì họ. – num1