在新实例中保存变量
Save variable in a new instance
基本上,我想在更新变量后拥有一个旧的变量实例
下面是一些可能解释得更好的例子:
variable = { a: "#fff" }
saved = variable
variable[:a] = "#000"
saved[:a]
目标是获得"#fff"
。取而代之的是预期的最后一行 returns "#000"
。我尝试冻结一个对象:
variable = { a: "#fff" }
saved = variable
saved.freeze
variable[:a] = "#000"
但这只会引发 FrozenError: can't modify frozen Hash
错误
只是复制变量
saved = variable.dup
只需复制它:
variable = { a: "#fff" }
saved = variable.dup # attention here
variable[:a] = "#000"
saved[:a]
基本上,我想在更新变量后拥有一个旧的变量实例
下面是一些可能解释得更好的例子:
variable = { a: "#fff" }
saved = variable
variable[:a] = "#000"
saved[:a]
目标是获得"#fff"
。取而代之的是预期的最后一行 returns "#000"
。我尝试冻结一个对象:
variable = { a: "#fff" }
saved = variable
saved.freeze
variable[:a] = "#000"
但这只会引发 FrozenError: can't modify frozen Hash
错误
只是复制变量
saved = variable.dup
只需复制它:
variable = { a: "#fff" }
saved = variable.dup # attention here
variable[:a] = "#000"
saved[:a]