我想显示文本然后覆盖它(对于简单的进度条等)。在 Linux 和 Windows 的终端中运行 Racket 时,显示回车 ( "\r"
) 的常用技巧工作正常,但在 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 的交互窗口中覆盖一行文本?
最佳答案
有关这方面的权威答案,您需要在 Racket 用户邮件列表中听取 Robby Findler 的意见(请参阅 https://lists.racket-lang.org/)。
我大约 85% 确定交互窗口不会这样做:也就是说,允许您覆盖已显示的文本。如果您想做这样的事情,您可能想使用图形工具箱创建自己的文本窗口。这样,您可以以任何您想要的方式更改窗口中的文本。
关于racket - 如何清除或覆盖 DrRacket 中的一行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39207690/