From: Mathieu Bouchard Date: 2006-03-28T11:50:04+09:00 Subject: Re: PATCH: A subclassable Pathname On Tue, 28 Mar 2006, Evan Phoenix wrote: > The reciever class is the potentially the one thats been subclassed, > so all it's methods should attempt to convert return values into > instances of itself. Is there any case where you wouldn't want the return-type to be covariant with the receiver? Something like a #to_ordinary_pathname() would be obvious ;-) but there could be some subtler cases. E.g. when I reimplemented Array#[] and such, I argued with myself quite a long time about whether it should return ordinary Arrays or MyArrays, and then, MyArray is not even a subclass of Array. In that case I decided that #[] should always return Array. I think it depends on what kind of enhancements it has over the regular PathName. Does it need be a subclass? Can you modify Pathname instead? > I could extend Pathname and add my methods to it, but I've actually got > 2 such classes and I don't particularly want them to share these > methods. Why? Cause I really don't see why. _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - t�l:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montr�al QC Canada