为什么(阅读)只是将定界符设置为括号,然后在表达式前面加上反引号?

问题描述 投票:0回答:1

Scheme (Racket) 新手在这里。

我正在读这本书:Shriram Krishnamurthi 的 Programming Languages Application and Interpretation。

我安装了 plai 包。

在第 7 页上,这本书谈到了

(read)
并说了这个输入:

{+ {- 3 4} 7}

(read)
返回这个:

(list `+ (list `- 3 4) 7)

但是,当我打开 Racket 的命令行版本并输入:

(read)

然后输入:

{+ {- 3 4} 7}

我不明白书上说的是什么。相反,我得到这个:

`(+ (- 3 4) 7)

(read)
命令只是用圆括号替换了花括号,并在整个表达式前面加上了反引号。它没有添加
list
.

书错了吗?或者,我需要做些什么才能让

(read)
按照书中描述的方式行事吗?

racket
1个回答
0
投票

总结上面的讨论(并回答你的最后一个问题):DrRacket 有多种显示 s 表达式的方法。

默认设置称为“打印”。听起来您想要的是所谓的“构造函数”样式打印。

要更改此设置,请打开“语言>选择语言...”菜单,单击“显示详细信息”(除非已显示详细信息),然后将“输出语法”框中的设置从“打印”更改为“构造函数” “.

© www.soinside.com 2019 - 2024. All rights reserved.