2009/11/19

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

変数に値を代入するときは、代入先の変数の「中に」オブジェクトをコピーするのではなく、変数にオブジェクトの参照を格納しているだけである。

s = "Ruby" # Stringオブジェクトを作り、参照をsに格納する
t = s # 参照のコピーを作ってtに格納する。sとtは同じオブジェクトを参照する
t[-1] = ""
t = "Java" # tは別のオブジェクトを参照する
print s, t # "RubJava"と表示

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

0 件のコメント: