loop-finish
Common Lisp の loop からぬける loop-finish なんてのがあったのか。
(loop for i in '(1 3 5 4 8 7)
if (evenp i)
do (loop-finish)
collect i)
;;=> (1 3 5)
(loop for i in '(1 3 5 4 8 7)
if (evenp i)
do (loop-finish)
collect i
finally (print "hello"))
;;=> (1 3 5)
;; hello
いままで知らなかったから、こんなふうに書いてたよ。
(loop for i in '(1 3 5 4 8 7)
if (evenp i)
do (return x)
collect i into x)
;;=> (1 3 5)
0 件のコメント:
コメントを投稿