Синтаксис строк
Синтаксис чтения строки: двойная кавычка, произвольное количество символов и ещё одна двойная кавычка, "like this". Чтобы включить двойную кавычку в строку, поставьте перед ней обратную косую черту; таким образом, "\"" — это строка, содержащая всего один символ двойной кавычки. Аналогичным образом можно включить обратную косую черту, поставив перед ней ещё одну обратную косую черту, как здесь: "this \\ is a single embedded
backslash".
Поскольку строка — это массив символов, можно задавать символы строки с помощью синтаксиса чтения символов, но без начального вопросительного знака. Это удобно для включения в строковые константы символов, которые не обозначают сами себя. Так, управляющие символы можно задавать как escape-последовательности, начинающиеся с обратной косой черты; например, "foo\r" даёт ‘foo’, за которым следует символ возврата каретки. См. Основной синтаксис символов, где описаны escape-последовательности для других управляющих символов. Аналогичным образом можно использовать специальный синтаксис чтения управляющих символов (см. Синтаксис управляющих символов), как в "foo\^Ibar", который создаёт символ табуляции внутри строки. Можно также использовать escape-последовательности для символов не ASCII, описанные в Общий синтаксис escape-последовательностей, как в "\N{LATIN SMALL LETTER A WITH GRAVE}" и "\u00e0" (однако см. предупреждение о символах не ASCII в разделе Символы не ASCII в строках).
Символ новой строки не является особым в синтаксисе чтения строк; если записать новую строку между двойными кавычками, она станет символом строки. Но экранированная новая строка — та, перед которой стоит ‘\’ — не становится частью строки; то есть считыватель Lisp игнорирует экранированную новую строку при чтении строки. Экранированный пробел ‘\ ’ также игнорируется.
"It is useful to include newlines
in documentation strings,
but the newline is \
ignored if escaped."
⇒ "It is useful to include newlines
in documentation strings,
but the newline is ignored if escaped."
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-for-Strings.html