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)