我正在为自己的LISP教授计算机程序的结构和解释的在线文本,但它与我正在运行的学习LISP的Racket程序的细节不同。例如,SICP表示任何列表的终止元素都是'nil',但是Racket不支持'nil'。如何在Racket中创建一个空列表,以便我可以测试自己的程序?
答案 0 :(得分:13)
空列表表示为'()
。所以你可以创建一个像
(cons 1 (cons 2 (cons 3 '())))
这会生成列表
'(1 2 3)
答案 1 :(得分:7)
肖恩的回答是正确的。但是,如果您希望能够键入nil
,那么这也很容易。只需在会话开始时运行一次:
(define nil '())
答案 2 :(得分:3)