3.6.1 let 表达式的组成部分

let 表达式是一个包含三部分的列表。第一部分是符号 let。 第二部分是一个列表,称为变量列表(varlist),其中每个元素 要么是单独的符号,要么是一个二元列表,其首个元素为符号。 let 表达式的第三部分是 let 的函数体, 通常由一个或多个列表组成。

(let varlist body...)

变量列表中的符号会由 let 特殊形式赋予初始值。 单独的符号初始值为 nil; 作为二元列表首个元素的符号,则会绑定到 Lisp 解释器对第二个元素求值后返回的值。

例如,一个变量列表可以写作:(thread (needles 3))。 在该 let 表达式中,Emacs 将符号 thread 绑定到初始值 nil,将符号 needles 绑定到初始值 3。

编写 let 表达式时,你只需要将合适的表达式填入 let 模板的对应位置即可。

如果变量列表由二元列表组成(这是常见写法), let 表达式的模板如下:

(let ((variable value)
      (variable value)
      ...)
  body...)