私は配列を持ってい@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) print 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   に答える