*print-escape* 在 Debian 上运行不正常?
*print-escape* not behaving correctly on Debian?
我在大学里学clisp,在其中一本教科书上,在学习字符、编码等方面,我被教导
- print-escape在顶层默认设置为nil
- 当 print-escape 为 null 时,字符打印如下( > 是 clisp 提示符):
> #\newline
#\nEWLINE
> #\space
#\sPACE
> #\a
#\a
- 当 print-escape 被分配任何其他值时(例如使用 (setq print-escape t) ),那么字符是展示了他们 "really" 的样子(我不知道如何真正解释,但我想你明白我的意思):
> (setq *print-escape* t)
t
> #\newline
> #\space
> #\a
a
我遇到的问题是我在 Debian Wheezy 上安装了 clisp(版本 1:2.49-8.1),但我完全没有得到相同的结果,但恰恰相反:
- print-escape returns 默认为我
- 字符被打印为字符(即#\a => #\a),print-escape 被设置为 t 并且它们 "really" 是(即 #\a => a) 在我将 print-escape 设置为 nil 之后。
听起来课程中有错误 material 对吧?或者是否有任何其他 clisp 顶级变量可能对此产生影响并且可能在 Debian 中设置不同以便我得到完全相反的结果/行为?
您可以在 Common Lisp Hyperspec 中查找 Common Lisp 标准(CLisp 是 Common Lisp 的一种实现)(搜索 CLHS *print-escape*
,或使用 http://l1sp.org 的搜索,或使用 http://l1sp.org/cl/*print-escape*
).
标准说它默认绑定到 t
并且实现尝试以 read
将它们返回产生的值 [=14] 的方式打印内容=] 到打印的那个。
CLisp 实现说明 (http://www.clisp.org/impnotes.html) 没有提及与 *print-escape*
一起使用的字符。由于它确实在许多其他情况下认真尝试打印 read
ably,我认为您看到的是预期和预期的行为。
然而,这其中有很多实现依赖性。例如,#\space
可能会被其他实现打印为 #\
(锐号反斜杠 space)。
我在大学里学clisp,在其中一本教科书上,在学习字符、编码等方面,我被教导
- print-escape在顶层默认设置为nil
- 当 print-escape 为 null 时,字符打印如下( > 是 clisp 提示符):
> #\newline #\nEWLINE > #\space #\sPACE > #\a #\a
- 当 print-escape 被分配任何其他值时(例如使用 (setq print-escape t) ),那么字符是展示了他们 "really" 的样子(我不知道如何真正解释,但我想你明白我的意思):
> (setq *print-escape* t) t > #\newline > #\space > #\a a
我遇到的问题是我在 Debian Wheezy 上安装了 clisp(版本 1:2.49-8.1),但我完全没有得到相同的结果,但恰恰相反: - print-escape returns 默认为我 - 字符被打印为字符(即#\a => #\a),print-escape 被设置为 t 并且它们 "really" 是(即 #\a => a) 在我将 print-escape 设置为 nil 之后。
听起来课程中有错误 material 对吧?或者是否有任何其他 clisp 顶级变量可能对此产生影响并且可能在 Debian 中设置不同以便我得到完全相反的结果/行为?
您可以在 Common Lisp Hyperspec 中查找 Common Lisp 标准(CLisp 是 Common Lisp 的一种实现)(搜索 CLHS *print-escape*
,或使用 http://l1sp.org 的搜索,或使用 http://l1sp.org/cl/*print-escape*
).
标准说它默认绑定到 t
并且实现尝试以 read
将它们返回产生的值 [=14] 的方式打印内容=] 到打印的那个。
CLisp 实现说明 (http://www.clisp.org/impnotes.html) 没有提及与 *print-escape*
一起使用的字符。由于它确实在许多其他情况下认真尝试打印 read
ably,我认为您看到的是预期和预期的行为。
然而,这其中有很多实现依赖性。例如,#\space
可能会被其他实现打印为 #\
(锐号反斜杠 space)。