まつもと ゆきひろです

In message "[ruby-list:38041] Re: proc method"
    on 03/08/06, Koji Arai <JCA02266 / nifty.ne.jp> writes:

|>  ブロックをつけずに使うと、呼び出し元のメソッドで指定されたブロックを
|> 手続きオブジェクトとして返すという機能は推奨されなくなったんでしょうか。
|
|あまり警告が適切じゃないのかもしれません。この文脈では proc 
|でも問題ありません。(ちなみに、Proc.new.call とすると警告は
|出ませんが、ブロックで break とすると例外があがります)

文案はいつも募集してます。

procやlambdaをブロックなしで呼び出し、現在のメソッドに与えら
れているブロックをオブジェクト化する機能は、ブロック引数
(&block)またはProc.newに任されました。将来はprocやlambdaには
この機能がなくなります。

|>     breakやnextは実行の中断
|
|しかし、全然気が付かなかったのですが proc, Proc.new, yield 
|でそれぞれ違う挙動なのはちょっと問題かも知れません。

それぞれ理由があってのことですから。使い分けてください。