有條件地執行 LOOP 子句
LOOP
有自己的 IF
語句,可以控制子句的執行方式:
(loop repeat 1000
for x = (random 100)
if (evenp x)
collect x into evens
else
collect x into odds
finally (return (values evens odds)))
在 IF 主體中組合多個子句需要特殊的語法:
(loop repeat 1000
for x = (random 100)
if (evenp x)
collect x into evens
and do (format t "~a is even!~%" x)
else
collect x into odds
and count t into n-odds
finally (return (values evens odds n-odds)))