2012-02-21 49 views
1

如果我做LISP CDR功能

(setq x '(NOT (NOT (NOT (NOT A))))) 

(cdr x)(NOT (NOT (NOT A))))

(cdr (cdr x))NIL

这是怎么回事吗?

+0

A的定义是什么? – 2012-02-21 05:04:07

+1

我没有定义它。 – CyberShot 2012-02-21 05:09:57

回答

7

恩,它不应该。 (cdr x)应该给你'((NOT (NOT (NOT A))))。 这意味着(NOT (NOT (NOT A)))(cdr x)的第一个元素。当再次cdr时,它是在一个元素列表中,所以你得到零'()

+2

如果你多解释一下,它会显示为什么(cdr(cdr x))是NIL。 – leppie 2012-02-21 05:52:42