基本上,我希望在更新变量
后有一个旧的变量实例以下是一些可能更好解释的例子:
variable = { a: "#fff" }
saved = variable
variable[:a] = "#000"
saved[:a]
目标是获得"#fff"
。而是最后一行返回预期的"#000"
。我试着冻结一个物体:
variable = { a: "#fff" }
saved = variable
saved.freeze
variable[:a] = "#000"
但这只会引发FrozenError: can't modify frozen Hash
错误
答案 0 :(得分:1)
只需复制变量
saved = variable.dup
答案 1 :(得分:0)
只需复制它:
variable = { a: "#fff" }
saved = variable.dup # attention here
variable[:a] = "#000"
saved[:a]