Spec-Zone.ru › Elisp

Макросы

Макросы позволяют определить новые управляющие конструкции и другие языковые особенности. Макрос определяется примерно так же, как функция, но вместо того, чтобы указывать, как вычислить значение, он указывает, как вычислить другое выражение Lisp, которое, в свою очередь, вычислит значение. Мы называем это выражение расширением макроса.

Макросы могут делать это, потому что они работают с невычисленными выражениями для аргументов, а не со значениями аргументов, как функции. Поэтому они могут создавать расширение, содержащее эти выражения аргументов или части их.

Если вы используете макрос для выполнения чего-то, что могла бы сделать обычная функция, только для повышения скорости, рассмотрите вместо этого использование встроенной функции. См. Встроенные функции.

• Простой макрос Базовый пример.
• Расширение Как, когда и почему макросы расширяются.
• Компиляция макросов Как макросы расширяются компилятором.
• Определение макросов Как написать определение макроса.
• Проблемы с макросами Не вычисляйте аргументы макроса слишком много раз. Не скрывайте переменные пользователя.
• Отступы макросов Указание способа отступа вызовов макроса.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Macros.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API