From: Phillip Gawlowski Date: 2010-11-01T08:00:49+09:00 Subject: Re: the dark side of inherited methods On Sun, Oct 31, 2010 at 11:54 PM, Rajinder Yadav wrote: > I see how Vector is-a Array, I don't see how Array is-a Vector? I would > consider collect and collect! to be inconsistent under this definition. Array#collect returns a new Array. Array#collect! returns the existing Array. Thus, Vector#collect returns a new Array, and Vector#collect! returns the existing Vector. Bang-methods operate on the object itself, and return the modified object, instead of creating a new object containing the result of the operation the non-Bang-method performed. The behavior is consistent with how methods with and without Bang operate. -- Phillip Gawlowski Though the folk I have met, (Ah, how soon!) they forget When I've moved on to some other place, There may be one or two, When I've played and passed through, Who'll remember my song or my face.