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