Определите 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.

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


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

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

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