Module: Shuffle
- Included in:
- Array
- Defined in:
- lib/shuffle.rb
Instance Method Summary collapse
- #shuffle(generator = nil) ⇒ Object
- #shuffle!(generator = nil) ⇒ Object
- #swap(i, j) ⇒ Object
- #swap!(i, j) ⇒ Object
Instance Method Details
#shuffle(generator = nil) ⇒ Object
18 19 20 |
# File 'lib/shuffle.rb', line 18 def shuffle ( generator=nil ) dup.shuffle!(generator) end |
#shuffle!(generator = nil) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/shuffle.rb', line 10 def shuffle! ( generator=nil ) n = size n.times do |i| swap!(i, n.choose(generator)) end self end |
#swap(i, j) ⇒ Object
26 27 28 |
# File 'lib/shuffle.rb', line 26 def swap ( i, j ) dup.swap!(i, j) end |
#swap!(i, j) ⇒ Object
22 23 24 |
# File 'lib/shuffle.rb', line 22 def swap! ( i, j ) self[i], self[j] = self[j], self[i] end |