2009/11/19

Rubyの面白いところ Part 5 「実はオブジェクト参照に対して操作している」

変数に値を代入するときは、代入先の変数の「中に」オブジェクトをコピーするのではなく、変数にオブジェクトの参照を格納しているだけである。
  1. s = "Ruby" # Stringオブジェクトを作り、参照をsに格納する  
  2. t = s      # 参照のコピーを作ってtに格納する。sとtは同じオブジェクトを参照する  
  3. t[-1] = ""  
  4. t = "Java" # tは別のオブジェクトを参照する  
  5. print s, t # "RubJava"と表示  

プログラミング言語 Ruby 第2刷 76ページ より

0 件のコメント: