GNU Info

Info Node: (emacs-lisp-intro.info)while

(emacs-lisp-intro.info)while


Next: dolist dotimes Prev: Loops & Recursion Up: Loops & Recursion
Enter node , (file) or (file)node

`while'
=======

   The `while' special form tests whether the value returned by
evaluating its first argument is true or false.  This is similar to what
the Lisp interpreter does with an `if'; what the interpreter does next,
however, is different.

   In a `while' expression, if the value returned by evaluating the
first argument is false, the Lisp interpreter skips the rest of the
expression (the "body" of the expression) and does not evaluate it.
However, if the value is true, the Lisp interpreter evaluates the body
of the expression and then again tests whether the first argument to
`while' is true or false.  If the value returned by evaluating the
first argument is again true, the Lisp interpreter again evaluates the
body of the expression.

   The template for a `while' expression looks like this:

     (while TRUE-OR-FALSE-TEST
       BODY...)

Looping with while
Repeat so long as test returns true.
Loop Example
A `while' loop that uses a list.
print-elements-of-list
Uses `while', `car', `cdr'.
Incrementing Loop
A loop with an incrementing counter.
Decrementing Loop
A loop with a decrementing counter.

automatically generated by info2www version 1.2.2.9