From: eklerni Date: 2007-07-26T12:48:54+09:00 Subject: [ruby-dev:31300] Re: retryの使い方 松尾です、返信ありがとうございます。 SASADA Koichi さんは書きました: >  ささだです。 >  この retry の使い方は知らなかった。ので、実装出来ていませ > ん。どうしたもんでしょう。 > >  rescue/ensure もしくは block の中にしか置けないと思ってました。 > 1.8ではblockまたはprocオブジェクトつきで呼び出したら(block内でretryした ときと同じように)動くようですね。 def foo retry end foo #=>retry outside of rescue clause (LocalJumpError) foo{} #=>無限ループ foo(&proc{}) #=>無限ループ foo(&lambda{}) #=>無限ループ retryなしでユーザー定義ループを(whileとかなしで)作るのは厳しいんで、必 要な機能だとは思います。 あとensureのなかでretryって使えるものでしたっけ?1.8と1.9どっちもダメそ うですけど。 begin ensure retry end 1.9 => retry outside of rescue clause 1.86 => legal retry compile error (SyntaxError) ruby 1.8.6 (2007-06-07 patchlevel 36) [i386-mswin32] ruby 1.9.0 (2007-07-24 patchlevel 0) [i386-mswin32_80]