[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:03652] Re: 小ネタ還元



サイトウです。

逸見さん、ドーモありがとうございます。

return-from 思い出しました。
> returnは一番内側のループからしか抜けないので、2重3重になった
> ループからの抜け出すコード例です。
> 
> (defun test1 (lstlst)
>   (dolist (lst lstlst)
>     (dolist (a lst)
>       (if (zerop a) (return-from test1 t)))) ;;ゼロがあったら関数から抜ける。
>   nil)
> 
> (test1 '((1 2 3)(3 0 5)))
> --> t
> (test1 '((1 2 3)(3 0 5)))
> --> nil
これって、
(test1 '((1 2 3)(3 4 5)))
                   ^     
--> nil 
ですよね。タイプミスでしょうけど一応。

なるほど、 return は return-from nil だったんですね。

ラインコピーの Reply も参考になりました。
-----------------------------------
サイトウ ヒロシ
HiroshiSaito@xxxxxxx

Index Home