Как создать строку двойных кавычек с помощью emacs lisp? - PullRequest
2 голосов
/ 10 июля 2010

Мне нужно создать строку с emacs lisp, в которой должна содержаться двойная кавычка '"'. Изучая синтаксис строки emacs lisp, я подумал, что" \ "" будет представлять такую ​​двойную кавычку. Но, к моему удивлению, я следующее выражение (concat "\" ") произведенный "\"» «\» не желательно.

Пожалуйста, научите меня, как я могу получить чистую двойную кавычку в строке?

Спасибо заранее.

Ю

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Вы видите вывод в минибуфере, верно?

В строковых данных нет символа \. Обратите внимание, что результат функции в минибуфере заключен в кавычки. Он показывает вам представление строки, а не только ее данные.

Чтобы показать вам , что кавычка внутри является частью данных, а не ограничителем строки, она экранирует кавычку при печати.

Попробуйте (вставьте "\" "). Это выведет значение строки в текущем месте метки, которая будет просто кавычкой.

0 голосов
/ 10 июля 2010

Выражение (concat "\" ") приведет к ожидаемому результату одинарных двойных кавычек '"'.

Я был перепутан с результатом оценки в интерактивном буфере emacs-lisp, который использует синтаксис строкового представления emacs-lisp.В котором двойная кавычка представляется как "\" ".

При фактическом выполнении это даст правильный результат двойной кавычки.

Извините за беспокойство!

Юй Шен

...