dolist
dolist
是一個迴圈巨集,用於輕鬆遍歷列表。最簡單的用途之一是:
CL-USER> (dolist (item '(a b c d))
(print item))
A
B
C
D
NIL ; returned value is NIL
請注意,由於我們沒有提供返回值,因此返回 NIL
(並且將 A,B,C,D 列印到*standard-output*
)。
dolist
也可以返回值:
;;This may not be the most readable summing function.
(defun sum-list (list)
(let ((sum 0))
(dolist (var list sum)
(incf sum var))))
CL-USER> (sum-list (list 2 3 4))
9