Array Ruby

class Array
  def strip_values_at!(*args)
    args.each do |x|
      #For each mentioned index, replace its value with a dummy object.
      values = []
      dummy = Object.new
      args.each do |i|
        if i < size
          values << self[i]
          self[i] = dummy
        end
      end
      #Strip out the dummy object.
      delete(dummy)
      return values
    end
  end
end
p a = ("a".."h").to_a
p a.strip_values_at!(1, 0, -2)            # => ["b", "a", "g"]
p a                                       # => ["c", "d", "e", "f", "h"]
p a.strip_values_at!(1000)                # => []
p a                                       # => ["c", "d", "e", "f", "h"]