【问题标题】:Clearing screen on petite chez schemepetite chez 计划的清除屏幕
【发布时间】:2015-01-19 15:07:52
【问题描述】:

一个困扰我的小问题。 有谁知道如何在 petite chez scheme SWL 上清除屏幕? 我试过 clear, cls , clean 。

提前致谢。

【问题讨论】:

    标签: scheme chez-scheme


    【解决方案1】:

    这份文件http://scheme.com/csug8/use.html 说:

    ^L-^L   clear screen and redisplay entry
    

    如果您想从程序中清除屏幕,请发送终端使用的“清除屏幕”代码。在https://github.com/tonyg/racket-ansi/blob/master/ansi.rkt 中,您看到发送的代码是 CSI "2J",其中 CSI 代表 \033[

    下面是如何从程序中执行此操作(在 OS X 终端中的 Petite 中进行了测试)。

    (define ESC #\033)
    (define CSI (list->string (list ESC #\[ )))
    (define CLEAR (string-append CSI "2J"))
    (display CLEAR)
    

    【讨论】:

    • 感谢您的回答。但是,ctrl L - ctrl L 不起作用,您发送的链接是球拍方案而不是 chez 方案
    • 什么意思? scheme.com 链接显然是 foo Chez Scheme。另一个链接列出了 ANSI 序列(即发送到终端的字符序列) - 该文件恰好是用 Racket 编写的,但重点是向您展示如何找到代码 CSI 2J。无论如何-您是想从键盘还是从程序中清除屏幕?您在哪个终端运行 Chez Sheme 也很重要? (OS X 中的终端,Linux 中的 xterm 或 ...)
    • 我的意思是第二个 link.Windows 。我试图将代码放在 petite chez 方案 swl 的第二个链接中,但出现错误,因为此链接中使用的某些代码仅与球拍方案相关。你试过用吗?
    • 代码不是重点——控制序列才是重点。您在终端中运行 Chez Scheme。终端处理要在屏幕上显示的内容。如果程序发送特定的控制代码,终端将清除屏幕。对于 ANSI 终端,您需要显示 esc、[、2、J。对于所有编程语言,包括 Chez Scheme 和 Racket,此序列都是相同的。我添加了一个示例,并在 OS X 终端中使用 Chez Petite 对其进行了测试。
    • 此时我们可以得出结论,您的终端不听 ANSI 代码。也许你会在 Chez Scheme 邮件列表上得到更好的答案(我希望有一个?)?
    猜你喜欢
    • 1970-01-01
    • 2018-01-07
    • 2023-03-14
    • 2016-07-25
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多