Цитаты
Специальная форма quote возвращает свой единственный аргумент, как написано, без его вычисления. Это позволяет включать в программу постоянные символы и списки, которые не являются самооцениваемыми объектами. (Необязательно заключать в кавычки самооцениваемые объекты, такие как числа, строки и векторы.)
- Специальная форма: quote объект
Эта специальная форма возвращает объект без его вычисления. Возвращаемое значение может быть общим и не должно изменяться. См. Самооцениваемые формы.
Поскольку quote часто используется в программах, Lisp предоставляет удобный синтаксис для его чтения. Апостроф (''') после объекта Lisp (в синтаксисе чтения) преобразуется в список, первый элемент которого — quote, а второй — объект. Таким образом, синтаксис чтения 'x является сокращением для (quote x).
Вот несколько примеров выражений, использующих quote:
(quote (+ 1 2))
⇒ (+ 1 2)
(quote foo)
⇒ foo
'foo
⇒ foo
''foo
⇒ 'foo
'(quote foo)
⇒ 'foo
['foo]
⇒ ['foo]
Хотя выражения (list '+ 1 2) и '(+ 1 2) оба дают списки, равные (+ 1 2), первое генерирует новый изменяемый список, а второе — список, созданный из консов, которые могут быть общими и не должны изменяться. См. Самооцениваемые формы.
Другие конструкции цитирования включают function (см. Анонимные функции), которые заставляют анонимное лямбда-выражение, написанное на 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/Quoting.html