Компоненты лямбда-выражения
Лямбда-выражение представляет собой список, который выглядит так:
(lambda (arg-variables…) [documentation-string] [interactive-declaration] body-forms…)
Первый элемент лямбда-выражения всегда символ lambda. Это указывает, что список представляет функцию. Функции определяются, начиная с lambda, чтобы другие списки, предназначенные для других целей, случайно не являлись допустимыми функциями.
Второй элемент — список символов — имена переменных аргументов (см. Список аргументов). Это называется лямбда-списком. Когда функция Lisp вызывается, значения аргументов сопоставляются с переменными в лямбда-списке, которым присваиваются локальные значения, предоставленные в качестве аргументов. См. Локальные переменные.
Строка документации — это объект строки Lisp, помещённый внутри определения функции для описания функции в средствах справки Emacs. См. Документацию функции.
Интерактивное объявление — это список вида (interactive
code-string). Это объявляет, как предоставлять аргументы, если функция используется интерактивно. Функции с этим объявлением называются командами; их можно вызвать с помощью M-x или связать с клавишей. Функции, не предназначенные для вызова таким образом, не должны иметь интерактивных объявлений. См. Определение команд для того, как написать интерактивное объявление.
Остальные элементы — тело функции: код Lisp для выполнения работы функции (или, как сказал бы программист Lisp, «список форм 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/Lambda-Components.html