let
ExpressionA let
expression is a list of three parts. The first part is
the symbol let
. The second part is a list, called a
varlist, each element of which is either a symbol by itself or a
two-element list, the first element of which is a symbol. The third
part of the let
expression is the body of the let
. The
body usually consists of one or more lists.
A template for a let
expression looks like this:
(let varlist body…)
The symbols in the varlist are the variables that are given initial
values by the let
special form. Symbols by themselves are given
the initial value of nil
; and each symbol that is the first
element of a two-element list is bound to the value that is returned
when the Lisp interpreter evaluates the second element.
Thus, a varlist might look like this: (thread (needles 3))
. In
this case, in a let
expression, Emacs binds the symbol
thread
to an initial value of nil
, and binds the symbol
needles
to an initial value of 3.
When you write a let
expression, what you do is put the
appropriate expressions in the slots of the let
expression
template.
If the varlist is composed of two-element lists, as is often the case,
the template for the let
expression looks like this:
(let ((variable value) (variable value) …) body…)