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)