From: Daniel Schierbeck Date: 2006-08-17T04:05:08+09:00 Subject: [Facets] Multiple arguments for Hash#delete This may be a Facet: class Hash alias_method :__delete__, :delete def delete(*keys, &block) if keys.length == 1 __delete__(keys.first, &block) else keys.map{|key| __delete__(key, &block) } end end end Probably somewhat slower, but hey, it lets you do this a, b, c = hsh.delete :a, :b, :c which fits in nicely with hsh[:a, :b, :c] = 1, 2, 3 and a, b, c = hsh[:a, :b, :c] Cheers, Daniel