なかだです。

At Sat, 13 Dec 2003 03:32:29 +0900,
Yukihiro Matsumoto wrote:
> |> いや、これとは違います。これは&blockで渡されたものはそのまま
> |> 受け側のブロック引数に渡されそうな「気がする」のに、実際には
> |> コピーが渡るという現象です。実装上の都合でProcはimmutable な
> |> ので問題は発生しないはずでした。dRubyは想定外でしたねえ。
> |
> |同じオブジェクトにしてもいいんじゃないかと思います。今も、こう
> |すると__id__も一致するんですけどね。
> 
> 同じオブジェクトにするのが面倒で、いや、正確には面倒だと思い
> こんでいたので、現状のようになっていたのですが、こんな小さな
> パッチで実現できるなら取り込みたいです。副作用ってないんだろ
> うか。

特異メソッドを定義したりすると他にも影響が出ますが、すでに
block_objでキャッシュするようになっている以上、別のオブジェクト
が返る場合のほうが、逆に例外的ではないかと思います。

一度オブジェクト化すればずっと同じものであるというほうが、分か
りやすいような気がします。

# Proc#dupはないけどproc(&block)でコピーできるし。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦