Добавить элемент на заданное место в список - Lisp
Формулировка задачи:
Добавить элемент в список L на N место
Решение задачи: «Добавить элемент на заданное место в список»
textual
Листинг программы
HTA> (defparameter *l* (list 1 2 3 4 5 6 7)) *L* HTA> (define-modify-macro insert-place (pos val) (lambda (list pos val) (nconc (subseq list 0 pos) (list val) (subseq list pos)))) INSERT-PLACE HTA> (insert-place *l* 3 'z) (1 2 3 Z 4 5 6 7) HTA> *l* (1 2 3 Z 4 5 6 7)
Объяснение кода листинга программы
- Создание переменной l со значением (list 1 2 3 4 5 6 7).
- Создание макроса insert-place для добавления элемента на заданное место в списке.
- Вызов макроса insert-place с аргументами l, 3 и 'z.
- Значение переменной l изменяется на (1 2 3 Z 4 5 6 7).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д