3.6 let

let 表达式是 Lisp 中的一种特殊形式, 在绝大多数函数定义中都会用到。

let 用于将符号与值关联(绑定), 从而避免 Lisp 解释器将该变量与函数外部同名变量混淆。

要理解 let 特殊形式的必要性,可以设想这样一个场景: 你有一套房子,平时称之为 “家”,比如句子“该给家刷漆了”。 当你拜访朋友时,主人提到“家”,他指的很可能是 他的 房子, 而不是你的,也就是另一处住所。

如果朋友指的是他的房子,而你以为是你的,就会产生混淆。 在 Lisp 中也会出现类似情况:一个函数内部使用的变量与另一个函数 内部的变量同名,而二者本意并不指向同一个值。 let 特殊形式可以避免这类混淆。