nobu / ruby-lang.org wrote:
>>    hsh = {:a => 1, :b => 2, :c => 3}
>>    hsh.delete :a, :b  #=> [1, 2]
>>    hsh.delete :c      #=> 3
> 
> The class of returned value varies according to the number of
> arguments?

Yes. I don't see that as a big problem though, especially if there's a 
second method that *always* returns an array:

   hsh.delete_at :a      #=> [1]
   hsh.delete_at :b, :c  #=> [2, 3]

It may be too much magic for some, but I think it's a very cool feature 
that won't interfere with how #delete is being used at the moment.

The main reason for it becoming a Facet is that Hash#[] and Hash#[]= 
also work with multiple arguments.


Cheers,
Daniel