请有人告诉我它是如何运作的?使用实例变量@remote设置具有相同名称的哈希键会对其自身的值产生影响......如何?
<title>\n Page Not Found • Instagram\n </title>
答案 0 :(得分:1)
Ruby是区分“立即值”和“参考值”的众多语言之一。
如果我说x = 5; y = x; y = 6
,那么x
是一个直接值,仍然包含5
,而不是6
。
但如果我说x = { value: 5 }
,则x
是对哈希对象的引用。当我说y = x
时,y
引用与x
相同的哈希对象。因此y[:value] = 6
将x[:value] == 6
。
要防止出现此问题,请查看“ruby deep copy”,然后使用y = x.dup
。