elisp - 插入行为与消息不同

时间:2014-02-06 10:40:48

标签: elisp

我想编写一个elisp函数,它打印一些数字乘以7的结果。

以下代码效果很好,当我用“message”替换“insert”时,但是当使用下面的代码时,它会打印“结果是%d#”,因此它不会正确格式化字符串。为什么这样以及如何解决问题?

(defun logbuch (number)       ; Interactive version.
   "Multiply NUMBER by seven."
   (interactive "p")
   (insert "The result is %d" (* 7 number))
   ;(message "good morning")
)

我用“C u 5 M x logbuch”执行代码

我试图谷歌但没有发现任何帮助。

1 个答案:

答案 0 :(得分:2)

您需要将其包装在format中。 花点时间学习它,这是一个非常重要的功能。

(defun logbuch (number)
   "Multiply NUMBER by seven."
   (interactive "p")
   (insert (format "The result is %d" (* 7 number)))
   ;(message "good morning")
   )