Module: Tins::Shuffle

Defined in:
lib/tins/shuffle.rb

Instance Method Summary collapse

Instance Method Details

#shuffleObject



11
12
13
# File 'lib/tins/shuffle.rb', line 11

def shuffle
  dup.shuffle!
end

#shuffle!Object



3
4
5
6
7
8
9
# File 'lib/tins/shuffle.rb', line 3

def shuffle!
  (size - 1) .downto(1) do |i|
    j = rand(i + 1)
    self[i], self[j] = self[j], self[i]
  end
  self
end