С помощью функционалов и(или) макросов построить новую синтаксическую форму - Lisp

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

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

Ребяят, помогите пожалуйста кто может, очень нужно... (ПОСТРОИТЬ_A-LIST (список ключей) (выраж-1) (выраж-2)…(выраж-n)) Построить ассоциативный список из заданных ключей и выражений
уже все, всем спасибо, ахах))

Решение задачи: «С помощью функционалов и(или) макросов построить новую синтаксическую форму»

textual
Листинг программы
(defun mklist (keys &rest exprs)
  (mapcar 'cons keys exprs))
 
==> mklist
 
(mklist '(a b c d e) 1 2 3 4 5 6)
 
==> ((a . 1) (b . 2) (c . 3) (d . 4) (e . 5))

Объяснение кода листинга программы

В коде определён функцией mklist с двумя аргументами: keys и exprs. — Если keys — это список, то возвращается новая форма списка, созданная с помощью mapcar применением функции cons к каждому элементу keys, в качестве значения которого выступает соответствующий элемент exprs. — Если keys — это символ, то возвращается новая форма списка, созданная с помощью mapcar применением функции cons к каждому элементу keys, в качестве значения которого выступает соответствующий элемент exprs, записанный в кавычках. Пользователь вызывает функцию mklist с двумя аргументами: keys — список, exprs — список. — Функция mklist возвращает новую форму списка, созданную с помощью mapcar применением функции cons к каждому элементу keys, в качестве значения которого выступает соответствующий элемент exprs. — Результат выводится на экран.

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


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

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

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