前田です。

In message "[ruby-dev:1464] Re: iterator block passing (Re: rgrep)"
Yukihiro Matsumoto <matz / netlab.co.jp> wrote:

||文法拡張はせずに、
||
||obj.pass_block(:itername, args...)
||
||というメソッドを用意する、というのはどうでしょう。
|
|特効薬というわけではないですが,採用します.

ありがとうございます。
イテレータブロックが減るかわりに、メソッド呼び出しが増える
ので効率的には今一つといったところですね。

ところで、rbc.rbでトップレベルでpass_blockを呼ぶとcore dump
するのでおかしいなあと思って調べてみたのですが、

def foo
  binding
end
b = foo {}
eval("yield", b)

みたいなことをするとまずいようです。

-- 
前田 修吾