これは私が試したものです:
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変更されましたか?
更新: 変数が引数としてメソッドに渡される場合はどうですか? 受信変数が同じ参照を持っているのはなぜですか?