Почему caddr[(A B C)] = C?
В идеале в LISP:
caddr[(A B C)] = car[cdr[cdr[(A B C)]]] = car[cdr[(B C)]] = car[C] = Undefined.
Но книга говорит, что ответ C
, Кто-нибудь может объяснить, пожалуйста?
Большое спасибо.
2 ответа
Ваша ошибка в том, что cdr[(B C)] - это список (C), а не атом C.
Тогда автомобиль [(C)] является C.
(cdr '(b c)) - это список (c), а не атом c, поэтому выражение становится (car '(c)), а не (car c)
? (cdr '(b c))
(C)
? (car '(c))
C