2

我正在阅读An Introduction to Programming in Emacs Lisp,我看到以下内容:

此代码有效:

(message "The name of this buffer is: %s." (buffer-name))

而这个失败:

(message "The name of this buffer is: %s." buffer-name)

但是,此代码有效:

(message "The value of fill-column is %d." fill-column)

而这个失败:

(message "The value of fill-column is %d." (fill-column))

我的问题是为什么?buffer-name和 和有什么不一样fill-column?我怎么知道什么时候使用括号?

4

1 回答 1

5

简单地说 -buffer-name是一个函数(返回一个字符串)并且fill-column是一个变量(计算为一个整数)。

所有 Lisp 方言中的函数调用都应该用括号括起来。

要查看 Emacs 中某个函数的详细信息,请按C-h f function-name RET。要查看 Emacs 中变量的详细信息,请按C-h v variable-name RET

于 2013-01-13T23:14:55.390 回答