誰能解釋通過參考/複製字符串分配?
方案-1
str = "hello"
str1 = str
puts str #=> hello
puts str1 #=> hello
str1 = "hi"
puts str1 #=> hi
puts str #=> hello
這裏,改變str1
值對的str
的價值沒有影響的行爲。
方案-2
str = "hello"
str1 = str
str1.gsub! "hello", "whoa!"
puts str1 #=> whoa
puts str #=> whoa
Shoudn't的gsub!
效果僅str1
?爲什麼它改變str
?如果str1
僅保留對str
的引用,那麼爲什麼方案-1中的值沒有更改?
你打我吧.... +1 – Salil 2013-04-26 06:48:36
寫得很好的答案。 – 2013-05-08 07:24:18
這對一切都適用嗎?一切都是一個對象,一切都是通過引用分配的?包括其他語言中通常爲其他語言的東西,例如整數或浮點數? – 2014-11-14 19:04:40