Определите FUNCALL через функционал APPLY - Lisp

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

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

Определите FUNCALL через функционал APPLY. Как это сделать?

Решение задачи: «Определите FUNCALL через функционал APPLY»

textual
Листинг программы
(defmacro funcall! (f &rest x)
  `(,f ,@x))
 
==> funcall!
 
(funcall! + 1 2 3 4)
 
==> 10
 
(funcall! * 1 2 3 4)
 
==> 24

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

В данном коде определен макрос FUNCALL!, который принимает один обязательный аргумент F и произвольное количество аргументов X. Макрос FUNCALL! вызывает функцию F с аргументами X. Пример использования макроса FUNCALL!: (defmacro funcall! (f &rest x) `(,f ,@x)) (funcall! + 1 2 3 4) Здесь FUNCALL! вызывает функцию + с аргументами 1, 2, 3 и 4. Результатом является число 10. (funcall! 1 2 3 4) Здесь FUNCALL! вызывает функцию с аргументами 1, 2, 3 и 4. Результатом является число 24.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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