RosettaCodeData/Task/Knuth-shuffle/Ruby/knuth-shuffle-2.rb

10 lines
158 B
Ruby

class Array
def knuth_shuffle!
(length - 1).downto(1) do |i|
j = rand(i + 1)
self[i], self[j] = self[j], self[i]
end
self
end
end