From: Take_tk Date: 2003-08-26T13:00:47+09:00 Subject: [ruby-list:38264] Re: かみ砕いた説明をすべき範囲 たけ(tk)です [ruby-list:38262] Re: かみ砕いた説明をすべき範囲 にて nobu.nakada@nifty.ne.jp さん曰く: > いや、「オブジェクトの共有」とカギカッコ付きで書くほど単一の用 > 語として定着してるのかなと、ちょっと疑問に思っただけです。 全然定着していません。たけ(tk)の造語です。その用語の存在が世の中に正式に 公表されたのは2003.8.15です。 明確な定義が書かれていなかったのでここに書いておきます。 オブジェクトの共有とは:複数の変数、配列の要素、ハッシュの値、オブジェク トの属性などが同じ一つのオブジェクトを指し示している状態、と定義する。 ---- メリット:この概念を使用することによって、次の現象の違いを「Aはstr1と str2とがオブジェクトの共有の関係にあるので破壊的メソッドの影響を受けるが、 Bではstr3とstr4はオブジェクトの共有の関係にないので、破壊的メソッドの影 響を受けない」というように簡潔に説明できるようになる。 --ruby #--(A) str1 = "content" str2 = str1 p str1 == str2 #=> true p str1.id == str2.id #=> true str2 << " changed!" p str1 #=> "content changed!" p str2 #=> "content changed!" #--(B) str3 = "content" str4 = "content" p str3 == str4 #=> true p str3.id == str4.id #=> false str4 << " changed!" p str3 #=> "content" p str4 #=> "content changed!" -- Take_tk = KUMAGAI Hidetake たけ(tk)=熊谷秀武