如何使用Emacs Lisp生成双引号字符串?

3
我需要使用Emacs Lisp生成一个字符串,其中必须包含双引号' " '。通过研究Emacs Lisp的字符串语法,我认为 "\"" 可以表示这样的双引号。但出乎我的意料,以下表达式: (concat "\"") 生成了 "\"" '\'并不是我想要的。请教一下我如何在字符串中输出纯双引号? 谢谢您的帮助。 Yu

这是一个有点不寻常的评论,但是...我认为这个问题不需要成为社区维基。它是一个相当具体的问题,与编程有关,并且有一组明确的正确答案。当您将某些内容标记为社区维基时,当其他人投票支持它时,您不会获得任何声望积分。因此,只有在问题是意见调查或没有明确的答案时,才将其设置为社区维基。 - A. Levy
2个回答

4
您在 minibuffer 中看到的输出是正确的吗?
字符串数据中没有 '\'。请注意,函数结果在 minibuffer 中用引号括起来。它向您展示的是字符串的表示形式,而不仅仅是其数据。
为了向表明内部引号是数据的一部分,而不是字符串终止符,它在打印时会转义所包含的引号。
尝试 (insert "\"")。这将在标记的当前位置打印字符串的值,该值将仅为引号标记。

0

(concat "\"")

的表达式会产生预期的单个双引号 '"'。

我对交互式emacs-lisp缓冲区中使用emacs-lisp字符串表示语法的评估结果感到困惑。其中,双引号表示为"\"。

在实际执行中,它将产生正确的双引号结果。

抱歉给您带来麻烦!

神宇


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接