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)
按照书中描述的方式行事吗?
总结上面的讨论(并回答你的最后一个问题):DrRacket 有多种显示 s 表达式的方法。
默认设置称为“打印”。听起来您想要的是所谓的“构造函数”样式打印。
要更改此设置,请打开“语言>选择语言...”菜单,单击“显示详细信息”(除非已显示详细信息),然后将“输出语法”框中的设置从“打印”更改为“构造函数” “.