Mega Code Archive

 
Categories / Ruby / Array
 

Strip values from array

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"]