- 165 名前:156 mailto:sage [2009/12/13(日) 01:24:26 ]
- >>162
自分なりに調べてみました。 def method(obj) obj.object_id end str = "katakana" p str.object_id #=> 69877275538400 p method str #=> 69877275538400 この結果から分かりますが、上記の変数 str と obj は同一のオブジェクトを指しています。 したがって、変数 obj に対して破壊的なメソッド(オブジェクト自体を変更するメソッド)を使うと str が指しているオブジェクトも同一ですから、objに対して行った操作が反映されている、というわけですね。 あってますか? あと、Stringオブジェクトの内部表現については詳しくしりません。 Rubyのソースを読んでみればわかると思うのですが、まだそこまでのレベルではないので... スレ汚し失礼しましたです。
|

|