Mega Code Archive

 
Categories / Ruby / Array
 

Resequence the array

class Array   def randomize     arr=self.dup     arr.collect { arr.slice!(rand arr.length) }   end   def randomize!     arr=self.dup     result = arr.collect { arr.slice!(rand arr.length) }     self.replace result   end end x = [1, 2, 3, 4, 5] y = x.randomize      # [3, 2, 4, 1 ,5] x.randomize!         # x is now [3, 5, 4, 1, 2] class Array   def pick_random     self[rand(self.length)]   end end