インクリメントカウンタを持つループのテストには、(< count
desired-number) のような式を用いることができます。この式は、count
の値が繰り返し回数の desired-number より小さい場合に true として t を返し、count の値が desired-number 以上である場合に false として nil を返します。カウントをインクリメントする式は、(setq
count (1+ count)) のような単純な setq で構いません。ここで
1+ は、引数に 1 を加算する Emacs Lisp の組み込み関数です。(式 (1+ count) は (+ count 1) と同じ結果になりますが、人間にとってより読みやすくなります。)
インクリメントカウンタで制御される while ループのテンプレートは、次のようになります。
set-count-to-initial-value (while (< count desired-number) ; true-or-false-test body... (setq count (1+ count))) ; incrementer
なお、countの初期値を設定する必要があり、通常は1に設定されます。