【发布时间】:2012-06-09 09:54:45
【问题描述】:
理想情况下在 LISP 中:
caddr[(A B C)] = car[cdr[cdr[(A B C)]]] = car[cdr[(B C)]] = car[C] = Undefined.
但是书上说答案是C。谁能解释一下?
非常感谢。
【问题讨论】:
理想情况下在 LISP 中:
caddr[(A B C)] = car[cdr[cdr[(A B C)]]] = car[cdr[(B C)]] = car[C] = Undefined.
但是书上说答案是C。谁能解释一下?
非常感谢。
【问题讨论】:
您的错误是 cdr[(B C)] 是列表 (C),而不是原子 C。
那么 car[(C)] 就是 C.
【讨论】:
(cdr '(b c)) 是列表 (c),而不是原子 c,所以表达式变成 (car '(c)) 而不是 (car c)
? (cdr '(b c))
(C)
? (car '(c))
C
【讨论】: