我想编写一个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”执行代码
我试图谷歌但没有发现任何帮助。
答案 0 :(得分:2)
您需要将其包装在format
中。
花点时间学习它,这是一个非常重要的功能。
(defun logbuch (number)
"Multiply NUMBER by seven."
(interactive "p")
(insert (format "The result is %d" (* 7 number)))
;(message "good morning")
)