参数可以是一个求值后会返回值的符号。例如,符号 fill-column 单独求值会返回一个数字,这个数字可以用在加法运算中。
将光标放在下面表达式后面,输入 C-x C-e:
(+ 2 fill-column)
得到的值会比单独求值 fill-column 大 2。在我的环境中结果是 74,因为我的 fill-column 值为 72。
正如刚才所见,参数可以是求值后返回值的符号。除此之外,参数也可以是求值后返回值的列表。例如,在下面的表达式中,函数 concat 的参数包括字符串 "The "、" red foxes.",以及列表 (number-to-string (+ 2 fill-column))。
(concat "The " (number-to-string (+ 2 fill-column)) " red foxes.")
如果对该表达式求值 — 并且和我的 Emacs 一样,fill-column 求值结果为 72 — 回显区会显示 "The 74 red foxes."。(注意,你需要在单词 ‘The’ 后面和 ‘red’ 前面加上空格,这样才会出现在最终字符串中。函数 number-to-string 会将加法函数返回的整数转换为字符串。number-to-string 也叫作 int-to-string。)