2010-09-05 19 views
10

Một ứng dụng Scala thực hiện một số xử lý dữ liệu. Nó sẽ là tốt đẹp để hiển thị tiến trình xử lý trong phần trăm ghi đè giá trị trước đó về thay đổi thay vì thêm một giá trị mới cho những gì đã được hiển thị. Làm thế nào để đạt được hiệu ứng này? Tôi sử dụng Scala 2.8 trên Linux.Trong Scala hoặc Java, làm thế nào để in một dòng để bàn điều khiển thay thế nội dung trước đó của nó thay vì phụ thêm?

+7

(1 đến 100) foreach {k => {Thread.sleep (200); printf ("\ r% 2d", k)}} – Eastsun

Trả lời

10

Tùy chọn đơn giản nhất của bạn là sử dụng trả lại vận chuyển mà không cần dòng số "\r" hoặc ký tự backspace "\u0008". Nếu bạn backspace, bạn cần phải theo dõi bao nhiêu ký tự bạn đã phát ra, do đó bạn có thể sao lưu đủ (và trống ra bất kỳ dư thừa). Nếu bạn vận chuyển trở lại, bạn cần phải viết lại toàn bộ dòng (và viết không gian để trống ra bất kỳ dư thừa nào).

2

Nếu bạn đã lập trình bằng C/C++, câu trả lời sẽ rõ ràng là "ncurses".

Có một implemention lời nguyền trong Java bạn có thể quan tâm:

Java Curses

Các vấn đề liên quan