Node:Uninitialized let Variables, Previous:Sample let Expression, Up:let
let StatementIf you do not bind the variables in a let statement to specific
initial values, they will automatically be bound to an initial value of
nil, as in the following expression:
(let ((birch 3)
pine
fir
(oak 'some))
(message
"Here are %d variables with %s, %s, and %s value."
birch pine fir oak))
Here, the varlist is ((birch 3) pine fir (oak 'some)).
If you evaluate this expression in the usual way, the following will appear in your echo area:
"Here are 3 variables with nil, nil, and some value."
In this example, Emacs binds the symbol birch to the number 3,
binds the symbols pine and fir to nil, and binds
the symbol oak to the value some.
Note that in the first part of the let, the variables pine
and fir stand alone as atoms that are not surrounded by
parentheses; this is because they are being bound to nil, the
empty list. But oak is bound to some and so is a part of
the list (oak 'some). Similarly, birch is bound to the
number 3 and so is in a list with that number. (Since a number
evaluates to itself, the number does not need to be quoted. Also, the
number is printed in the message using a %d rather than a
%s.) The four variables as a group are put into a list to
delimit them from the body of the let.