我在做一些操作使用数组,像这样的(很简单)数组中的奇怪行为。随机元素
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,所以...我错在哪里?
编辑:
今天是新的一天,而奇妙的是,同样的代码运行正常....这是一个谜 感谢的一切!
我不能重现:https://gist.github.com/8ca38af6a5574fe17417 – 2012-03-14 23:59:03
这似乎很奇怪的是,每次检查B检查的时间有不同的价值观。这只是在裸露的irb会话?有没有其他线程提及b挂在附近? – dbenhur 2012-03-14 23:59:12
@dominikh你得到了我应该得到的代码 – Imanol 2012-03-15 00:06:41