Определите 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д