我想確認一下我的理解是否正確的代碼,這六個行的「複製」紅寶石陣的變化:通過改變它的元素之一
string="this is a sentence"
words=string.split
first_word=words[0]
first_word[0]=first_word[0].upcase
out=words.join(" ")
puts(out)
它打印「這是一個句子」 (首字母大寫)。
看來,改變「first_word」字符串,它被定義爲「words」數組的第一個元素,也會改變原來的「words」數組。這確實是Ruby的默認行爲?它是否會讓跟蹤代碼在陣列中發生更改的位置變得更難?
你正在給數組元素分配一個新的字符串。一個數組不是一個不可變的元組。爲什麼你感到驚訝*分配一個新的值*分配一個新的值? –