Common Lisp中的car和cdr

car用于得到list中的第一个cell的值:

> (car '(a b c))
A

cdr用于得到list中除了第一个cell之外的值,并作为一个新的list返回:

>(cdr '(a b c))
(B C)


car和cdr最强大的功能是可以通过搭配"a"和“d”达到嵌套的效果

(cadr list) = (car (cdr list))

> (cadr '(a b c))
B

(cdar list) = (cdr (car list))

>(cdar '((1 2 3) a b c))
(2 3)


可以通过搭配“a”和“d”的顺序构造更复杂的命令,但是仍然按照上述的方式解析嵌套。

原文地址:https://www.cnblogs.com/java20130722/p/3206837.html