如何在 emacs elisp 中打印一个不带引号的字符串



*scratch*缓冲区中,我输入以下代码并使用Ctrl-J运行它。

(defun tt ()
  (setq t1 1.735)
  (setq t2 3.278)
  (format "Test 1 is %f.nTest 2 is %f.n" t1 t2))
tt
(tt)
"Test 1 is 1.735000.
Test 2 is 3.278000.
"

我怎样才能让它打印出来,没有引号?

Test 1 is 1.735000.
Test 2 is 3.278000.

非常感谢您的帮助!

insert

(insert (tt))

这也将在末尾添加 nil - 插入的结果

"打印" 如何/在哪里? (如果你想要更好的答案,那么在你的问题中要更精确。

如 @abo-abo 所述,您可以将文本插入缓冲区(可以显示的任何缓冲区)。 您也可以使用功能在回声区域中显示它 message . 另请参阅函数的pp族(库pp.el,也许还有pp+.el)。

就双引号字符而言,它们不是您的 (format...) sexp 或函数 tt 返回的字符串的一部分format的某些用法确实会导致"字符作为字符串结果的一部分。 例如,请注意,%S具有这种效果,而%s则没有。

尝试使用 eshell 缓冲区

代替暂缓冲区(例如 emacs 中的 shell,使用 "M-x eshell" 命令调用它)。一旦进入 eshell 缓冲区,您就可以"取消"函数。您将获得不带引号的结果。

(我更喜欢使用 eshell,因为您可以使用向上和向下键回忆历史)

问候。

相关内容

最新更新