把运算符放到前面
在普通数学里我们写 1 + 2。在 Lisp 里写成 。(+ 1 2)
这点小小的搬家,是整门语言的起点 —— 函数永远在前,数据跟在后。+ 不再是符号,而是一个函数,我们在 调用 它,参数是 1 和 2。
1 + 2
(+ 1 2)试试别的运算符,它们都遵循同一个规则:。( 函数 参数 参数 ... )
为什么要这么写? —— 因为这样一切都是表达式,且都是同样的形状。后面你会发现:这种统一性带来惊人的威力。
算出 100 减 7。
运行任意一段代码,这里会出现它的 AST 树。
AST = Abstract Syntax Tree(抽象语法树)。 Lisp 的特别之处:代码本身就是树,这里看到的结构就是程序的本来面目。