- 778 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 12:11:24 ]
- >>776
変数はオブジェクトについたラベルです ラベル名 → オブジェクトID というような対応表を Ruby が管理していて、 該当ラベルの変数が呼ばれたときにはその表の対応を参照して該当オブジェクトが使われます 変数というハコが入れ物オブジェクトとして存在するわけではありません b = a は 「aという変数名で参照されるオブジェクトにbという変数名のラベルを1個(追加で)貼る」 という以上の意味はないです a という変数名も、 b という変数名も、元の(今回は Object.new で作った)オブジェクトを指します オブジェクトの複製は>>777の言うように dup や clone で行いますが、 実際にどのように複製されるかはクラスが自分で決めています 一般的には、オブジェクトの明示的な複製をする機会は少ないです たいていは通常の参照でなんとかなるからです
|

|