框符号中(a(b.c)d)的正确表示是什么?

1Mi*_*eft 1 lisp common-lisp

我正在Paul Graham的ANSI Common Lisp中进行练习.而且我有其他人练习的钥匙,这是:

http://www.shido.info/lisp/pacl2_e.html

在完成第3章的练习之后,我会参考该键逐一检查我的答案.当它达到代表时(a (b . c) d),我发现我无法理解Shido的答案,即:

http://www.shido.info/lisp/acl3-1d75.png

让我感到困惑的是,在他的回答d中没有跟着nil.

他的回答是对的吗?究竟什么是正确的代表(a (b . c) d)

Ren*_*nzo 7

你可以使用sdraw程序:

(load "sdraw.generic.lisp")

(sdraw '(a (b . c) d))

[*|*]--->[*|*]------->[*|*]--->NIL
 |        |            |
 v        v            v
 A       [*|*]--->C    D
          |
          v
          B
Run Code Online (Sandbox Code Playgroud)

从这里你可以看出你的想法是正确的.