Определите функцию, которая возвращает в качестве значения свой вызов - Lisp

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

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

Определите функцию, которая возвращает в качестве значения свой вызов. Как это сделать?

Решение задачи: «Определите функцию, которая возвращает в качестве значения свой вызов»

textual
Листинг программы
  1. (defmacro self (&whole w &rest x) `(quote ,w))
  2.  
  3. ==> self
  4.  
  5. (self 1 2 3)
  6.  
  7. ==> (self 1 2 3)
  8.  
  9. (self d)
  10.  
  11. ==> (self d)

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

В коде определена макрофункция SELF, которая принимает два аргумента: &whole и &rest. Первый аргумент &whole — это результат вызова функции, второй аргумент &rest — это список аргументов функции. В данном случае макрофункция SELF просто возвращает результат вызова функции в кавычках. Ниже приведены примеры вызова макрофункции SELF с различными аргументами: — (self 1 2 3) возвращает (self 1 2 3) — (self d) возвращает (self d)

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


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

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

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы