Sha256: f461c69ff051fa354c1ae7f8a176687543a91c86693bc507bdbb0731a910bf07

Contents?: true

Size: 254 Bytes

Versions: 21

Compression:

Stored size: 254 Bytes

Contents

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

    def shuffle
      dup.shuffle!
    end
  end
end

require 'tins/alias'

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
tins-0.5.1 lib/tins/shuffle.rb
tins-0.5.0 lib/tins/shuffle.rb
tins-0.4.3 lib/tins/shuffle.rb
tins-0.4.2 lib/tins/shuffle.rb
tins-0.4.1 lib/tins/shuffle.rb
tins-0.4.0 lib/tins/shuffle.rb
tins-0.3.14 lib/tins/shuffle.rb
tins-0.3.13 lib/tins/shuffle.rb
tins-0.3.12 lib/tins/shuffle.rb
tins-0.3.11 lib/tins/shuffle.rb
tins-0.3.10 lib/tins/shuffle.rb
tins-0.3.9 lib/tins/shuffle.rb
tins-0.3.8 lib/tins/shuffle.rb
tins-0.3.7 lib/tins/shuffle.rb
tins-0.3.6 lib/tins/shuffle.rb
tins-0.3.5 lib/tins/shuffle.rb
tins-0.3.4 lib/tins/shuffle.rb
tins-0.3.3 lib/tins/shuffle.rb
tins-0.3.2 lib/tins/shuffle.rb
tins-0.3.1 lib/tins/shuffle.rb