奇怪的常见lisp错误(sbcl)

时间:2014-11-28 18:40:51

标签: lisp

我有一个非常奇怪的lisp错误。我正在使用sbcl并编写了以下代码。我只是希望有人可以解释。

(setq x '((1 (x y) (1 2)) (3 (x z) (2 3)) (3 (x y) (1 2)) (4 (x y) (1 2))))

(caddadr x)

给出以下错误消息

评估在#。

上中止 然而,将它写在for中给了我所期待的

(car (cddadr x))
(2 3)

只是想知道为什么这是诚实的。

1 个答案:

答案 0 :(得分:2)

没有caddadr这样的功能,这就是原因。

* (fboundp 'caddadr)

NIL
* (fboundp 'cddadr)

T

你刚刚CAR, CDR, CAAR, CADR, CDAR, CDDR, CAAAR, CAADR, CADAR, CADDR, CDAAR, CDADR, CDDAR, CDDDR, CAAAAR, CAAADR, CAADAR, CAADDR, CADAAR, CADADR, CADDAR, CADDDR, CDAAAR, CDAADR, CDADAR, CDADDR, CDDAAR, CDDADR, CDDDAR and CDDDDR。请参阅:http://clhs.lisp.se/Body/f_car_c.htm