LISP пень меня еще раз ... Почему я не могу получить значение последнего элемента в списке? У меня есть список настройки похож на это:LISP автомобиль последнего элемента?
(setq bar '(((1 2) 3 4 5)((6 7) 8 9 10)))
Теперь я получаю возвращение 4 для:
(caddar bar)
Существует возвращение (5) для:
(cdddar bar)
Но я не могу получить 5 для:
(cadddar bar)
Почему это - d как я могу получить значение 5?
Ошибка:
; Warning: This function is undefined:
; CADDDAR
Error in KERNEL:%COERCE-TO-FUNCTION: the function CADDDAR is undefined.
[Condition of type UNDEFINED-FUNCTION]
Ответ был: (автомобиль (cdddar lst)) .... теперь почему это! = Cadddar, я не понимаю. – toast
Где-то глубоко внутри недр вашей реализации LISP есть: (defun cadr (x) ...) (defun cdar (x) ...) (defun caar (x) ...) (defun cddr (x) ...) и т. д. для всех комбинаций «a» и «d» длиной от 1 до 4. Спецификация не включает в себя длину 5, так как их слишком много. В семействе функций # 'cdadr нет ничего особенного. Они не обрабатываются однозначно. Это обычные функции. Вы более чем приветствуете (defun ...) некоторые новые, чтобы заполнить пробелы. – jtdubs