Copyright (C) 2000-2012 |
GNU Info (emacs-lisp-intro.info)CountingCounting -------- Here is an example that shows how to use `setq' in a counter. You might use this to count how many times a part of your program repeats itself. First set a variable to zero; then add one to the number each time the program repeats itself. To do this, you need a variable that serves as a counter, and two expressions: an initial `setq' expression that sets the counter variable to zero; and a second `setq' expression that increments the counter each time it is evaluated. (setq counter 0) ; Let's call this the initializer. (setq counter (+ counter 1)) ; This is the incrementer. counter ; This is the counter. (The text following the `;' are comments. Note: Change a Function Definition.) If you evaluate the first of these expressions, the initializer, `(setq counter 0)', and then evaluate the third expression, `counter', the number `0' will appear in the echo area. If you then evaluate the second expression, the incrementer, `(setq counter (+ counter 1))', the counter will get the value 1. So if you again evaluate `counter', the number `1' will appear in the echo area. Each time you evaluate the second expression, the value of the counter will be incremented. When you evaluate the incrementer, `(setq counter (+ counter 1))', the Lisp interpreter first evaluates the innermost list; this is the addition. In order to evaluate this list, it must evaluate the variable `counter' and the number `1'. When it evaluates the variable `counter', it receives its current value. It passes this value and the number `1' to the `+' which adds them together. The sum is then returned as the value of the inner list and passed to the `setq' which sets the variable `counter' to this new value. Thus, the value of the variable, `counter', is changed. automatically generated by info2www version 1.2.2.9 |