Module Shuffle
In: lib/shuffle.rb

Methods

shuffle   shuffle!   swap   swap!  

Public Instance methods

[Source]

# File lib/shuffle.rb, line 18
  def shuffle ( generator=nil )
    dup.shuffle!(generator)
  end

[Source]

# File lib/shuffle.rb, line 10
  def shuffle! ( generator=nil )
    n = size
    n.times do |i|
      swap!(i, n.choose(generator))
    end
    self
  end

[Source]

# File lib/shuffle.rb, line 26
  def swap ( i, j )
    dup.swap!(i, j)
  end

[Source]

# File lib/shuffle.rb, line 22
  def swap! ( i, j )
    self[i], self[j] = self[j], self[i]
  end

[Validate]