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
Related examples in the same category