3.6 let

let表达式是Lisp中的一种特殊形式,你在大多数函数定义中都需要使用它。

let用于以一种方式将符号绑定到值,使得Lisp解释器不会将该变量与不属于函数的同名变量混淆。

为了理解为什么需要let特殊形式,考虑以下情况:假设你拥有一所房子,通常将其称为“房子”,就像在句子中说:“房子需要粉刷。” 如果你正在访问朋友,而你的主人提到“房子”,他可能是在指的是的房子,而不是你的,也就是说,是另一座房子。

如果你的朋友正在指他的房子,而你认为他正在指你的房子,那么可能会产生一些混乱。在Lisp中,如果在一个函数内部使用的变量与另一个函数内部使用的同名变量相同,并且两者意图不是引用相同的值,则可能发生类似的情况。let特殊形式防止了这种混淆。