我有一个数组@number = [1,2,3,4,5,6,7,8,9]
现在,我想随机化数组内容......例如:[5,3,2,6,7,1,8]
请指导我如何继续它。
问问题
3540 次
5 回答
12
使用shuffle
方法...
irb(main):001:0> [1,2,3,4,5].shuffle
=> [3, 4, 2, 5, 1]
于 2010-09-29T04:42:57.473 回答
8
该shuffle
命令返回数组的随机版本
例如:
[1,2,3].shuffle => [2,3,1]
于 2010-09-29T04:43:10.533 回答
1
[1,2,3,4,5,6,7,8,9].sort_by {rand}[0,9]
=> [5, 7, 3, 8, 9, 4, 2, 1, 6]
于 2010-09-29T12:49:09.200 回答
-1
如果您使用的是旧版本的 ruby ......这将有效
def randomize(array)
b = []
array.length.downto(1) { |n|
b.push array.delete_at(rand(n))
}
b
结尾
a = [1,2,3,4,5] b=randomize(a) 打印 b
于 2010-09-29T05:01:35.680 回答
-2
loop n times
i = random array index
j = random array index
swap elements i and j
end
于 2010-09-29T04:41:11.720 回答