From: SHUDO Kazuyuki Date: 2001-01-05T15:49:10+09:00 Subject: [ruby-list:26987] Re: 分散オブジェクト (Re: Re: fork problem?) 首藤です。 前田さん wrote: > fj.comp.oopsに振った方がいいかも。 いいかも…いや、振るまでもないかも。 > > これが必ず true になる、つまり String インスタンスには identity がない > > という JVM 実装もありだと思います。 > > いや、このケースでもidentityがないとは言えないと思いますよ。 identity という語を誤用してました。 オブジェクト指向なんちゃらでは、あらゆるオブジェクトに identity がある、 と理解しました。 というか、そもそも identity を持ってこそのオブジェクト、だと。 用語は思いつきで使うものじゃないですね。 web 上を検索したところ、"identity" についていくつかの記述が見つかりました: OO の用語集: Object identity: that which distinguishes an object from all other objects. OO Databases についての用語説明: Object Identity: identity based な OO システムは (略) しかし多くの relational databases で関係は value based である。 RDB と OODB の比較文書: Every object in an object oriented system has its own identity. > この場合はすべての同値のStringオブジェクトは同一のオブジェクトで > ある、という形で説明できます。 > RubyのFixnumも同じですね。 "identity" という語の、僕のもともとの使い方は以下の通り、 つまり「個々のインスタンスに identity がない類の *クラス*」でした。 | immutable で、かつ、個々のインスタンスに identity がない (*) 類のクラス | (例: String, Number のサブクラス, Boolean, Character) 「String のインスタンスに identity がない」は、 自分のもともとの意図とも違う、誤用をさらに書き換えミスしたもの、でした。 どちらにせよ誤用です。 | identity なし ←→ (同値→同一) ? これも誤りです。 けっきょく、Ruby の Fixnum などは「同値なら同一のオブジェクト」と、 文章で説明する他ないのでしょうか。 何か、もっと簡潔な、確立された用語はないものでしょうか。 SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように shudoh@muraoka.info.waseda.ac.jp