[Source]
# File lib/shuffle.rb, line 18 def shuffle ( generator=nil ) dup.shuffle!(generator) end
# File lib/shuffle.rb, line 10 def shuffle! ( generator=nil ) n = size n.times do |i| swap!(i, n.choose(generator)) end self end
# File lib/shuffle.rb, line 26 def swap ( i, j ) dup.swap!(i, j) end
# File lib/shuffle.rb, line 22 def swap! ( i, j ) self[i], self[j] = self[j], self[i] end
[Validate]