以下代码:
test_1 = "my test string"
test_2 = test_1
test_2[3] = "B"
puts test_1
puts test_2
test_1 = "my test string"
test_2 = test_1
test_2 = test_2 + ""
test_2[3] = "B"
puts test_1
puts test_2
产生以下结果:
my Best string
my Best string
my test string
my Best string
有人可以向我解释为什么在第一种情况下两个字符串都被更改(好像 test_2 是通过引用分配的)但在第二种情况下只有 test_2 更改(好像按值)?