我想显示文本然后覆盖它(对于简单的进度条等)。显示回车符("\r"
)的常用技巧在Linux和Windows的终端中运行Racket时工作正常,但在DrRacket和GRacket中,回车似乎没有将光标移动到行的开头。
以此代码为例:
(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的交互窗口中覆盖一行文本?
答案 0 :(得分:3)
要获得权威性答案,您需要在球拍用户邮件列表中收听Robby Findler的消息,(请参阅https://lists.racket-lang.org/)。
我大约85%确定交互窗口不会这样做:即允许您覆盖已显示的文本。如果你想做这样的事情,你可能想要使用图形工具箱创建自己的文本窗口。这样,您可以以任何您想要的方式更改窗口中的文本。