GNU Info

Info Node: (emacs-lisp-intro.info)Loops & Recursion

(emacs-lisp-intro.info)Loops & Recursion


Next: Regexp Search Prev: Yanking Up: Top
Enter node , (file) or (file)node

Loops and Recursion
*******************

   Emacs Lisp has two primary ways to cause an expression, or a series
of expressions, to be evaluated repeatedly: one uses a `while' loop,
and the other uses "recursion".

   Repetition can be very valuable.  For example, to move forward four
sentences, you need only write a program that will move forward one
sentence and then repeat the process four times.  Since a computer does
not get bored or tired, such repetitive action does not have the
deleterious effects that excessive or the wrong kinds of repetition can
have on humans.

   People mostly write Emacs Lisp functions using `while' loops and
their kin; but you can use recursion, which provides a very powerful
way to think about and then to solve problems(1).

while
Causing a stretch of code to repeat.
dolist dotimes
Recursion
Causing a function to call itself.
Looping exercise
   ---------- Footnotes ----------

   (1) You can write recursive functions to be frugal or wasteful of
mental or computer resources; as it happens, methods that people find
easy--that are frugal of `mental resources'--sometimes use considerable
computer resources.  Emacs was designed to run on machines that we now
consider limited and its default settings are conservative.  You may
want to increase the values of `max-specpdl-size' and
`max-lisp-eval-depth'.  In my `.emacs' file, I set them to 15 and 30
times their default value.


automatically generated by info2www version 1.2.2.9