Next: 练习, Previous: 设置变量的值, Up: 列表处理 [Contents][Index]
1.10 小结 ¶
学习 Lisp 就像爬山,最初的一段最陡峭。你已经攻克了最难的部分,后续内容会越来越轻松。
总结如下:
- Lisp 程序由表达式构成,表达式可以是列表或单个原子。
- 列表由 0 个或多个原子或内层列表组成,以空白分隔并被括号包裹。列表可以为空。
- 原子可以是多字符符号(如
forward-paragraph)、单字符符号(如 +)、双引号字符串或数字。
- 数字求值结果为自身。
- 双引号字符串求值结果也为自身。
- 单独对符号求值时,会返回其绑定的值。
- 对列表求值时,Lisp 解释器会查看列表的第一个符号,找到该符号绑定的函数定义,然后执行其中的指令。
- 单引号 ‘'’ 告诉 Lisp 解释器直接原样返回后面的表达式,而不进行求值。
- 参数是传递给函数的信息。函数的参数通过对“以该函数为首个元素的列表”中其余元素求值得到。
- 函数求值后总会返回一个值(除非出错);此外还可能执行某种动作,即副作用。很多函数的主要目的就是产生副作用。