dotimes

dotimes 宏类似于 dolist,但它循环特定次数。

dotimes 的第一个参数在每次循环时被赋予数字 0、1、2 等等。你需要提供第二个参数的值,该值表示宏循环的次数。

例如,下面的代码将数字从 0 到 3(不包括 3)绑定到第一个参数 number,然后构建包含这三个数字的列表。(第一个数字是 0,第二个数字是 1,第三个数字是 2;总共有三个数字,以零为起始。)

(let (value)      ; 否则 value 是一个未定义变量
  (dotimes (number 3)
    (setq value (cons number value)))
  value)

⇒ (2 1 0)

使用 dotimes 的方法是对某个表达式 number 进行操作,重复操作 number 次,然后返回结果,可以是列表或原子。

以下是一个使用 dotimesdefun 示例,用于计算三角形中鹅卵石的总数。

(defun triangle-using-dotimes (number-of-rows)
  "使用 `dotimes',计算三角形中鹅卵石的总数。"
(let ((total 0))  ; 否则 total 是一个未定义变量
  (dotimes (number number-of-rows)
    (setq total (+ total (1+ number))))
  total))

(triangle-using-dotimes 4)