Объясните функцию Lisp
Формулировка задачи:
Написать функцию удаления из списка элемента с указанным
номером.
можете объяснить, че что тут происходит?
(defun kill# (a b)
(cond
((= b 0) (cdr a))
((atom a) a)
(t (cons (car a) (kill# (cdr a) (- b 1))))))Решение задачи: «Объясните функцию Lisp»
textual
Листинг программы
(defun kill# (a b) (cond ((atom a) a) ((not (numberp b)) a) ((zerop b) (cdr a)) (T (cons (car a) (kill# (cdr a) (1- b))))))