2016-08-29 2 views
5

テキストを表示して上書きしたい(単純なプログレスバーなど)。 LinuxとWindowsの端末でRacketを実行しているときに、キャリッジリターン("\r")を表示する通常のトリックはうまくいきますが、DrRacketとGRacketでは、キャリッジリターンはカーソルをラインの先頭に移動していないようです。一例として、このコードでDrRacketのテキスト行をクリアまたは上書きする方法はありますか?

:自体を上書きカウンタ端末結果で実行

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

。最後に4が端末に表示されます。表示して上書きされていない番号でDrRacket結果に実行

0 
1 
2 
3 
4 

はDrRacketの相互作用のウィンドウにテキストの行を上書きする方法はありますか?

答えて

3

これについての権威ある答えは、Robby Findlerのラケットユーザーメーリングリスト(https://lists.racket-lang.org/を参照)から聞いてください。

私はインタラクションウィンドウがこれをしないことを約85%確信しています。つまり、既に表示されているテキストを上書きすることができます。このようなことをしたいのであれば、グラフィカルツールボックスを使って独自のテキストウィンドウを作成したいと思うでしょう。こうすることで、ウィンドウ内のテキストを任意の方法で変更できます。

関連する問題