Next: Nonlocal Exits Prev: Combining Conditions Up: Control Structures
Iteration means executing part of a program repetitively. For
example, you might want to repeat some expressions once for each
element of a list, or once for each integer from 0 to N. You can do
this in Emacs Lisp with the special form `while':
- Special Form: while CONDITION FORMS...
`while' first evaluates CONDITION. If the result is non-`nil', it
evaluates FORMS in textual order. Then it reevaluates CONDITION,
and if the result is non-`nil', it evaluates FORMS again. This
process repeats until CONDITION evaluates to `nil'.
There is no limit on the number of iterations that may occur. The
loop will continue until either CONDITION evaluates to `nil' or
until an error or `throw' jumps out of it (Note: Nonlocal
The value of a `while' form is always `nil'.
(setq num 0)
(while (< num 4)
(princ (format "Iteration %d." num))
(setq num (1+ num)))
-| Iteration 0.
-| Iteration 1.
-| Iteration 2.
-| Iteration 3.
If you would like to execute something on each iteration before the
end-test, put it together with the end-test in a `progn' as the
first argument of `while', as shown here:
(not (looking-at "^$"))))
This moves forward one line and continues moving by lines until an
empty line is reached.
automatically generated by info2www