まつもと ゆきひろです 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のすり替えとかしてるかな問題ないの かなあ。