在Racket中创建一个空列表

时间:2010-12-23 18:33:15

标签: list racket null

我正在为自己的LISP教授计算机程序的结构和解释的在线文本,但它与我正在运行的学习LISP的Racket程序的细节不同。例如,SICP表示任何列表的终止元素都是'nil',但是Racket不支持'nil'。如何在Racket中创建一个空列表,以便我可以测试自己的程序?

3 个答案:

答案 0 :(得分:13)

空列表表示为'()。所以你可以创建一个像

这样的列表
(cons 1 (cons 2 (cons 3 '())))

这会生成列表

'(1 2 3)

答案 1 :(得分:7)

肖恩的回答是正确的。但是,如果您希望能够键入nil,那么这也很容易。只需在会话开始时运行一次:

(define nil '())

答案 2 :(得分:3)

在Racket中,空列表被指定为:

'()

或作为:

null

我会说null可能是两者中更惯用的,它与谓词null?一致,后者测试空列表。

请参阅docs