2016-08-29 8 views
5

Chciałbym wyświetlić tekst, a następnie nadpisać go (dla prostych pasków postępu, itp.). Zwykła sztuczka wyświetlania powrotu karetki ("\r") działa dobrze podczas działania Racket w terminalu w systemie Linux i Windows, ale w DrRacket i GRacket powrót karetki nie wydaje się przesunąć kursora na początek linii.Jak usunąć lub zastąpić linię tekstu w DrRacket?

Ten kod jako przykład:

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

działającej w końcowych wynikach w liczniku, który zastąpi się; na końcu tylko terminal 4 jest wyświetlany.

bieganie w wynikach DrRacket w liczbach prezentujących i nie są nadpisywane:

0 
1 
2 
3 
4 

Czy istnieje sposób aby zastąpić linię tekstu w oknie interakcje DrRacket?

Odpowiedz

3

Aby uzyskać autorytatywną odpowiedź na ten temat, będziesz chciał usłyszeć od Robby Findler na liście dyskusyjnej użytkowników rakiet (zobacz https://lists.racket-lang.org/).

jestem około 85% pewien, że okno interakcje tego nie zrobi, to znaczy pozwala nadpisać już wyświetlany tekst. Jeśli chcesz zrobić coś takiego, prawdopodobnie chcesz utworzyć własne okno tekstowe przy użyciu graficznego zestawu narzędzi. W ten sposób możesz zmienić tekst w oknie w dowolny sposób.

Powiązane problemy