【发布时间】:2014-06-24 03:04:26
【问题描述】:
当我执行这个程序时,original_couples 列表和 new_couples 列表总是相同的。我认为使用 .clone 或 .dup 应该是一种复制方式,而不会对原始变量进行更改。那么为什么会在这里发生呢?
def swingers(couples)
original_couples = couples
new_couples = original_couples.clone
swap_index1 = rand(3)
swap_index2 = rand(3)
new_couples[swap_index1][0], new_couples[swap_index2][0] = new_couples[swap_index2] [0], new_couples[swap_index1][0]
puts original_couples
puts new_couples
end
swingers([
["Clyde", "Bonnie"],
["Paris", "Helen"],
["Romeo", "Juliet"]
])
【问题讨论】:
标签: ruby