我正在使用数组进行一些操作,就像这样(非常简单)
a = [1, 2, 3, 4]
b = [1]
b.push((a-b).sample)
=> [1, 2]
好的,让我们看一下它的价值
b
=> [1, 2]
b
=> [1, 3]
b
=> [1, 2]
b
=> [1, 4]
我不明白为什么b会改变。我认为我从a和b之间的差异中取出了一个随机元素,并将其附加到b,所以......我错在哪里?
编辑:
今天是新的一天,神奇的是,相同的代码运行正常....这是一个谜 谢谢所有!
答案 0 :(得分:0)
这是你期望得到的吗?
a = [1,2,3,4]
b = []
0.upto(3) do
b.push((a-b).sample)
puts b
end
#=> [2]
#=> [2, 4]
#=> [2, 4, 1]
#=> [2, 4, 1, 3]