Method: Random::ArrayExtensions#pick!

Defined in:
lib/standard/facets/random.rb

#pick!(n = nil) ⇒ Object

Similar to #at_rand!, but given a number will return an array of exclusive elements.



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'lib/standard/facets/random.rb', line 156

def pick!(n=nil)
  if n
    if n > self.size
      r = self.dup
      self.replace([])
      r
    else
      r = []
      n.times { r << delete_at(Random.number(size)) }
      r
    end
  else
    delete_at(Random.number(size))
  end
end