在 Racket 中创建一个空列表
我正在使用计算机程序的结构和解释的在线文本自学 LISP,但它与我运行来学习 LISP 的 Racket 程序在一些小细节上有所不同。例如,SICP 规定任何列表的终止元素都是“nil”,但 Racket 不支持“nil”。如何在 Racket 中创建一个空列表以便测试我自己的程序?
I'm teaching myself LISP with online text of Structure and Interpretation of Computer Programs, but it differs in small details with the Racket program I'm running to learn LISP on. For example, SICP says that the terminating element of any list is 'nil', but Racket doesn't support 'nil'. How do I create an empty list in Racket so I can test my own procedures?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
空列表表示为
'()
。所以你可以创建一个像这样的列表这会产生列表
The empty list is denoted
'()
. So you can create a list likeThis produces the list
肖恩的回答是正确的。但是,如果您希望能够输入
nil
,那也很简单。只需在会话开始时运行一次:Sean's answer is correct. However, if you want to be able to type
nil
, then that's easy too. Just run this once at the start of your session:在 Racket 中,空列表被指定为:
'()
或:
null
我想说
null
可能是更惯用的两个,它与测试空列表的谓词null?
一致。请参阅 文档。
In Racket the empty list is designated as either:
'()
or as:
null
I would say that
null
is probably the more idiomatic of the two, and it dovetails consistently with the predicatenull?
, which tests for the empty list.See the docs.