1.10 总结
学习 Lisp 就像攀登一座山,其中的第一部分是最陡峭的。你现在已经攀登过最困难的部分;随着你继续前进,剩下的部分会变得更容易。
总的来说,
- Lisp 程序由表达式组成,这些表达式可以是列表或单个原子。
- 列表由零个或多个原子或内部列表组成,它们之间由空格分隔,并用括号括起来。列表可以为空。
- 原子可以是多字符符号,比如
forward-paragraph
,也可以是单字符符号,比如 +
,还可以是双引号之间的字符字符串或数字。
- 数字在求值时等于其自身。
- 双引号之间的字符串在求值时也等于其自身。
- 当你对一个符号进行单独求值时,它的值会被返回。
- 当你对一个列表进行求值时,Lisp 解释器首先查看列表中的第一个符号,然后查找与该符号绑定的函数定义。然后执行函数定义中的指令。
- 单引号 ‘'’ 告诉 Lisp 解释器它应该按照写法返回后面的表达式,而不是像没有引号那样对其进行求值。
- 参数是传递给函数的信息。函数的参数是通过求值列表的其余元素来计算的,其中函数是第一个元素。
- 函数在求值时总是返回一个值(除非出现错误);此外,它还可能执行一些是副作用的动作。在许多情况下,函数的主要目的是创建副作用。