これは私が試したものです:
a = "Hello world"
a.object_id # => -633222538
b = a
b.object_id # => -633222538
b << " i say" # => "Hello world i say"
a # => "Hello world i say"
b
変数と変数の両方がa
同じオブジェクト ID を持つのはなぜですか? また、私が変更するb
と、どのようにa
変更されましたか?
更新: 変数が引数としてメソッドに渡される場合はどうですか? 受信変数が同じ参照を持っているのはなぜですか?