Elisp: List Processing
Lisp程序由表达式组成,表达式可以是列表或单个原子。
列表由零个或多个原子、或内层列表组成,用空格分隔,括号包围。一个列表可以是空的。
原子是多字符符号比如 forward-paragraph
,单字符符号比如 +
,双引号之间的字符串,或者数字。
一个数字进行评估,得到的是其本身。
一个双引号之间的字符串进行评估,得到的是其本身。
当评估一个符号自身时,返回它的值。
当评估一个列表时,Lisp解释器先查找列表中的第一个符号,然后查看绑定到该符号的函数定义。然后执行函数中定义的指令。
一个单引号 '
告诉Lisp解释器返回表达式本身,而不是像单引号不存在时评估它。
参数是传递给函数的信息。函数的参数是通过评估该函数作为第一个元素的列表的其余元素来计算的。
一个函数进行评估时总会返回一个值(除非出现错误);此外,它可能执行一些有副作用的操作。在许多情况下,函数的主要目的就是产生副作用。