From: Koji Arai Date: 2003-08-07T03:26:45+09:00 Subject: [ruby-list:38045] Re: proc method 新井です。 In message "[ruby-list:38044] Re: proc method" on 07 Aug 2003 02:41:20 +0900, matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > まつもと ゆきひろです > procやlambdaをブロックなしで呼び出し、現在のメソッドに与えら > れているブロックをオブジェクト化する機能は、ブロック引数 > (&block)またはProc.newに任されました。将来はprocやlambdaには > この機能がなくなります。 あっ、それは知りませんでした。失礼。であれば警告メッセージは そのままその通りですね。 ただ、 > |> breakやnextは実行の中断 > | > |しかし、全然気が付かなかったのですが proc, Proc.new, yield > |でそれぞれ違う挙動なのはちょっと問題かも知れません。 > > それぞれ理由があってのことですから。使い分けてください。 使い分けるのは構わないのですが、Proc オブジェクトを yield で やるように通常のイテレータブロックに(厳密に同じに)することが できないのはちょっと不便かと思いました。 引数チェック break&next Proc.new/ブロック引数 ゆるい 例外 lambda/proc 厳しい イテレータの中断 yield ゆるい イテレータの中断 ふーむ、もうちょっと頭の中を整理します。この点はまだマニュア ルにも反映させてない部分なのです。 -- 新井康司 (Koji Arai)