GNU Info

Info Node: (emacs-lisp-intro.info)Uninitialized let Variables

(emacs-lisp-intro.info)Uninitialized let Variables


Prev: Sample let Expression Up: let
Enter node , (file) or (file)node

Uninitialized Variables in a `let' Statement
--------------------------------------------

   If 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'.


automatically generated by info2www version 1.2.2.9