petite chez 计划的清除屏幕
Posted
技术标签:
【中文标题】petite chez 计划的清除屏幕【英文标题】:Clearing screen on petite chez scheme 【发布时间】:2015-01-19 15:07:52 【问题描述】:一个困扰我的小问题。 有谁知道如何在 petite chez scheme SWL 上清除屏幕? 我试过 clear, cls , clean 。
提前致谢。
【问题讨论】:
【参考方案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 邮件列表上得到更好的答案(我希望有一个?)?以上是关于petite chez 计划的清除屏幕的主要内容,如果未能解决你的问题,请参考以下文章
欧几里得算法解决 RR' - NN' = 1. 使用蒙哥马利算法进行模幂运算以在 python 或 Petite Chez 方案中实现费马检验