我对 Ruby 比较陌生,但我正在 try catch 一个变量供以后使用。
例子:
x = [1,2,3]
y = x
y.reverse!
如何取回 x 的原始值?看起来当我改变 y 时 x 也改变了。基本上我需要在更改它的副本时捕获并保存一个变量值。 非常感谢! 艾伦R
最佳答案
一些“变异!”方法与等效的非变异形式配对。 (通常,如果存在这样的一对,则非变异形式在名称中缺少结尾的 !
。)
在这种情况下,以及在所有情况下,除非有充分的理由证明其他情况,否则我建议使用非变异形式。我发现减少副作用可以使代码更清晰,也可以减少像这样微妙的小问题。 (gsub!
可能特别恶心。)
>> x = [1,2,3]
=> [1, 2, 3]
>> y = x
=> [1, 2, 3]
>> y = y.reverse
=> [3, 2, 1]
>> x
=> [1, 2, 3]
快乐的编码。
关于ruby - 捕获一个变量供以后在 Ruby 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514346/