まつもと ゆきひろです In message "[ruby-dev:22247] Re: block to method by proc" on 03/12/12, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes: |> いや、これとは違います。これは&blockで渡されたものはそのまま |> 受け側のブロック引数に渡されそうな「気がする」のに、実際には |> コピーが渡るという現象です。実装上の都合でProcはimmutable な |> ので問題は発生しないはずでした。dRubyは想定外でしたねえ。 | |同じオブジェクトにしてもいいんじゃないかと思います。今も、こう |すると__id__も一致するんですけどね。 同じオブジェクトにするのが面倒で、いや、正確には面倒だと思い こんでいたので、現状のようになっていたのですが、こんな小さな パッチで実現できるなら取り込みたいです。副作用ってないんだろ うか。 |--- eval.c 11 Dec 2003 21:06:14 -0000 1.602 |+++ eval.c 12 Dec 2003 10:51:02 -0000 |@@ -7038,4 +7038,5 @@ proc_alloc(klass, proc) | data->wrapper = ruby_wrapper; | data->iter = data->prev?Qtrue:Qfalse; |+ data->block_obj = block; | frame_dup(&data->frame); | if (data->iter) {