我正在阅读Emacs Lisp中的编程简介,我看到以下内容:
此代码有效:
(message "The name of this buffer is: %s." (buffer-name))
Run Code Online (Sandbox Code Playgroud)
而这一次失败了:
(message "The name of this buffer is: %s." buffer-name)
Run Code Online (Sandbox Code Playgroud)
但是,此代码有效:
(message "The value of fill-column is %d." fill-column)
Run Code Online (Sandbox Code Playgroud)
而这一次失败了:
(message "The value of fill-column is %d." (fill-column))
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么?buffer-name和之间有什么区别fill-column?我怎么知道何时使用括号?
简单地说 - buffer-name是一个函数(返回一个字符串)并且fill-column是一个变量(计算结果为整数).
所有Lisp方言中的函数调用都应该用括号括起来.
要在Emacs中查看有关功能的详细信息,请按C-h f function-name RET.要在Emacs中查看有关变量的详细信息,请按C-h v variable-name RET.