Cpt*_*rkt 6 ruby string reference
我现在正在编写一个教程,我想了解为什么会发生以下情况:
original_string = "Hello, "
hi = original_string
there = "World"
hi += there
assert_equal "Hello, ", original_string
original_string = "Hello, "
hi = original_string
there = "World"
hi << there
assert_equal "Hello, World", original_string
Run Code Online (Sandbox Code Playgroud)
为什么+=没有效果original_string,<<是吗?我绝对肯定第二种情况也会相同"Hello, ",但事实并非如此.
hi = original string在第一个例子中似乎复制了original_stringinto 的值hi,但hi = original string在第二个例子中似乎设置hi为指向相同的字符串original string.我猜在幕后有关于是复制值还是复制引用的某种隐含决定......或者其他什么.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |