2016-08-29 14 views
5

Tôi muốn hiển thị văn bản và sau đó ghi đè lên văn bản (đối với các thanh tiến trình đơn giản, v.v.). Thủ thuật thông thường của việc hiển thị một vận chuyển trở lại ("\r") hoạt động tốt khi chạy Racket trong thiết bị đầu cuối trong Linux và Windows, nhưng trong DrRacket và GRacket vận chuyển trở lại dường như không di chuyển con trỏ đến đầu dòng.Làm thế nào bạn có thể xóa hoặc ghi đè một dòng văn bản trong DrRacket?

Với mã này là một ví dụ:

(for ([x 5]) 
    (display "\r") 
    (display x)  
    (flush-output) ; The result is the same with or without this line 
    (sleep 0.1)) 

Chạy trong các kết quả thiết bị đầu cuối trong một bộ đếm ghi đè bản thân; ở cuối chỉ 4 được hiển thị trong thiết bị đầu cuối.

Chạy trong kết quả DrRacket trong số hiển thị và không được ghi đè:

0 
1 
2 
3 
4 

Có cách nào để ghi đè lên một dòng văn bản trong cửa sổ tương tác của DrRacket?

Trả lời

3

Để có câu trả lời có thẩm quyền về điều này, bạn sẽ muốn nghe từ Robby Findler về danh sách gửi thư của người dùng vợt, (xem https://lists.racket-lang.org/).

Tôi chắc chắn khoảng 85% rằng cửa sổ tương tác không thực hiện việc này: nghĩa là, cho phép bạn ghi đè văn bản đã hiển thị. Nếu bạn muốn làm một cái gì đó như thế này, bạn có thể muốn tạo cửa sổ văn bản của riêng bạn bằng cách sử dụng hộp công cụ đồ họa. Bằng cách đó, bạn có thể thay đổi văn bản trong cửa sổ theo bất kỳ cách nào bạn muốn.

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