原です。 From: keiju / shljapan.co.jp (石塚圭樹 ) Subject: [ruby-list:1987] Re: [Dist] Mutex module Date: Fri, 31 Jan 97 05:27:45 JST > けいじゅ@SHLジャパンです. > ある1つキーウィに値段がついていたとして, それが数日たって食べごろ(オブ > ジェクトの状態の変化)になったら値段が分からなくなっていたという感じで > しょうか... うんうん。 > 同じオブジェクトなのに状態の変化によってハッシュが引けなくなるのは問題 > です. > > とここまで考えてきて, 文字列はフリーズされているということを思い出しま > した... > > いまの仕様だと以下のようになりますね? > > h = Hash.new > a = "foo" > h[a] = "bar" > a.concat "baz" > h[a] #--> nil > > つまりオブジェクトの同一性よりも値(それも登録された時の)が重要視されて > いるわけですね. 私は、これについて全く違和感がないのですが、、、 > オブジェクト指向の世界ではオブジェクトの状態は変わり得るというふうに考 > えるべきだと思います. > > 原さんのここでの意見を聞いていると, オブジェクト指向ベース(ruby)の考え > 方ではなくて値ベース(perl)で考えているようにも感じられます. オブジェク > ト指向では値よりもオブジェクト, すなわちオブジェクトのアイデンティティ > を基本に考えるべきだと思います. > > # これは前に議論のあった, 変数とオブジェクトの問題に通じていると思いま > # す. なーるほど。そうですね。私は例えばハッシュで言うと、種類 => 値段 の変換表の様に考えていたのですが、オブジェクト指向的なフィーリン グでは、ものとものの直接的な対応と考えるんですね。 と、いうことは、ハッシュって「オブジェクト指向」に向いてないんじゃ ない?(と、話を振り出しに戻す。^^;)あるいは、ハッシュを2種類用 意するとか。Hash_keiju, Hash_hara と。:-) #誰も2000番を越えたことに言及しないな。