如果我说...
a = [1,2,3]
a.shuffle
puts a
...它给出 [1,2,3]。如果相反我说...
a=[1,2,3]
a.shuffle!
puts a
...每次我说 puts a 时,它都会给我一个新订单。所以我的问题是如何保存乱序数组的顺序?如果它第一次返回 [3,1,2] 它应该保持这个顺序。这有意义吗?
这是我正在谈论的一个例子。每次我打电话给 b 我都会得到不同的结果。
> a=[1,2,3]
=> [1, 2, 3]
> b=a.shuffle!
=> [1, 3, 2]
> b
=> [1, 2, 3]
> b
=> [2, 1, 3]
> b
=> [1, 3, 2]
> b
=> [3, 2, 1]
“b”似乎指的是函数 a.shuffle 而不是 shuffle 本身的结果。
答案:
在 TryRuby.org 上使用在线解释器时出现问题。在我的 PC 上使用交互式 Ruby 解释器可以得到正确的结果。感谢大家的帮助!