質問

私は、配列@number = [1,2,3,4,5,6,7,8,9]
を持っています 今、私は、配列の内容をランダム化したい...などのようなもの:[5,3,2,6,7,1,8]
を どのようにそれを続行するために私を導いてくださいます。

役に立ちましたか?

解決

使用shuffle方法...

irb(main):001:0> [1,2,3,4,5].shuffle
=> [3, 4, 2, 5, 1]

他のヒント

shuffleコマンドは、アレイのランダム化バージョンを返す

例:

[1,2,3].shuffle => [2,3,1]
[1,2,3,4,5,6,7,8,9].sort_by {rand}[0,9]  
=> [5, 7, 3, 8, 9, 4, 2, 1, 6]

あなたがルビーの古いバージョンを使用している場合は...この意志の作業

def randomize(array)
b = []
array.length.downto(1) { |n|
    b.push array.delete_at(rand(n))
} 
b 

終了

A = [1,2,3,4,5] B =ランダム化() 印刷B

loop n times
   i = random array index
   j = random array index
   swap elements i and j
end
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top