определить функцию, которая вытаскивает из списка числа - Lisp

Формулировка задачи:

Определить функцию, выбирающую из заданного списка все числовые атомы. С использованием подсписков.

Код к задаче: «определить функцию, которая вытаскивает из списка числа - Lisp»

textual
(defun numbers (w &optional ac)
  (cond ((null w) ac)
        ((atom w) (if (numberp w) (cons w ac) ac))
        ((numbers (car w) (numbers (cdr w) ac)))))
 
> (numbers '(a ((1 b)) (((2) c) 3)))
(1 2 3)

12   голосов, оценка 3.667 из 5


СОХРАНИТЬ ССЫЛКУ