bất cứ ai có thể giải thích hành viPhân bổ chuỗi theo tham chiếu/sao chép?
Kịch bản-1
str = "hello"
str1 = str
puts str #=> hello
puts str1 #=> hello
str1 = "hi"
puts str1 #=> hi
puts str #=> hello
Ở đây, thay đổi giá trị của str1
không ảnh hưởng đến giá trị của str
.
Kịch bản-2
str = "hello"
str1 = str
str1.gsub! "hello", "whoa!"
puts str1 #=> whoa
puts str #=> whoa
Shoudn't tác gsub!
chỉ str1
? Tại sao nó thay đổi str
? Nếu str1
chỉ giữ tham chiếu đến str
, thì tại sao giá trị không thay đổi trong Kịch bản-1?
Bạn đang đánh bại tôi với nó .... +1 – Salil
Câu trả lời hay bằng văn bản. –
Điều này có đúng với mọi thứ không? Tất cả mọi thứ là một đối tượng và tất cả mọi thứ được chỉ định bằng cách tham khảo? Bao gồm những thứ khác thường là nguyên thủy trong các ngôn ngữ khác như số nguyên hoặc phao nổi? –