Замена в списке одного элемента на другой - Lisp

Узнай цену своей работы

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

Функция трех аргументов (список, старый элемент, новый элемент) должна возвращать список, в котором все вхождения старого элемента заменены на новый элемент на всех уровнях списка lisp. Как можно решить эту задачу??

Решение задачи: «Замена в списке одного элемента на другой»

textual
Листинг программы
(defun re (w u e)
  (loop for a in w
        collect (typecase a
                  (list (re a u e))
                  (t (if (eq a u) e a)))))
 
> (re '(q w e (q w ((e)))) 'e 'z)
(Q W Z (Q W ((Z))))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы