Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > LISP > Вылетает функция putassoc |
Автор: Zz1n 28.5.2014, 13:45 |
Добрый день форумчане. Не могу понять, почему вылетает ошибка. (defun putassoc (key obj a_list) (cond ((null a_list) nil) ((eql (caar a_list) key) (rplacd (car a_list) obj)) ((null (cdr a_list)) (rplacd a_list) (list (cons key obj)))) (putassoc key obj (cdr a_list))) (trace putassoc) (setq lst nil) (setq lst (pairlis '(1 2 3) '(odin dva tri) lst)) (putassoc '2 'two lst) однако после выполнения (cons (car lst)(cdr lst)) результат показывает правильный. |
Автор: k0rvin 27.11.2014, 17:46 | ||||
Потому что процедура написана неправильно.
|