dotimes
dotimes
是一个宏,用于在一个参数值以下 0 的单个变量上进行整数迭代。其中一个简单的例子是:
CL-USER> (dotimes (i 5)
(print i))
0
1
2
3
4
NIL
请注意,NIL
是返回值,因为我们自己没有提供; 变量从 0 开始,整个循环变为从 0 到 N-1 的值。循环之后,变量变为 N:
CL-USER> (dotimes (i 5 i))
5
CL-USER> (defun 0-to-n (n)
(let ((list ()))
(dotimes (i n (nreverse list))
(push i list))))
0-TO-N
CL-USER> (0-to-n 5)
(0 1 2 3 4)