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 次,然后返回结果,可以是列表或原子。
以下是一个使用 dotimes
的 defun
示例,用于计算三角形中鹅卵石的总数。
(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)