1.8.2 参数作为变量或列表的值

参数可以是一个符号,在评估时返回一个值。例如,当单独评估符号fill-column时,它会返回一个数字。这个数字可以在加法中使用。

将光标定位到以下表达式后,键入C-x C-e

(+ 2 fill-column)

该值将是比仅评估fill-column得到的数字多两个。对我来说,这是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。)