まつもと ゆきひろです

In message "[ruby-dev:22235] block to method by proc"
    on 03/12/12, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:

|Procからdefine_methodで定義したメソッドにブロックを指定したとき
|のメッセージが、適切なものではないように思えます。
|
|$ ruby -w -e 'class Foo; define_method(:foo){}; end' -e 'Foo.new.foo{}'
|-e:2: warning: block for Proc#foo is useless

コミットしてください。

|本当は、define_methodのメソッドにもブロックを渡せるといいんです
|けどねぇ。

これとProc#callにブロックが指定された場合については、ずっと
悩んでいるんです。define_methodのブロックの内部でだけ与えら
れているブロックをすりかえるというのは、なんだかやってはいけ
ない「マジック」のような気がして。

でも、instance_evalでselfのすり替えとかしてるかな問題ないの
かなあ。