Beware of cases where you don't have total order. For example, in recent Squeak/Pharo we add to redefine the whole set of operators on numbers, not only < and =, just because NaN is not ordered...
2013/11/4 kilon alios <kilon.al...@gmail.com> > It looks to me that this would be the source of less readable code, I > prefer the choosing message approach by Kent Beck (Smalltalk Best Practice > Patterns) where intent is clearly stated. Unless there is an advantage I am > missing here. This is an example that less verbose code does not mean > simpler code. Of course this will largely depend on the specifics of the > case used. > > > On Mon, Nov 4, 2013 at 3:37 PM, Yuriy Tymchuk <yuriy.tymc...@me.com>wrote: > >> Now she someone want’s to have a comparable object he has to use >> TComparable and define < and =. >> With spaceship he has to define only <=>. I’m not sure what’s better. >> Just wanted to hear other peoples opinion >> >> On 04 Nov 2013, at 13:35, Stéphane Ducasse <stephane.duca...@inria.fr> >> wrote: >> >> > do you have a real use case? >> > >> > Stef >> > >> > On Nov 4, 2013, at 1:32 PM, Yuriy Tymchuk <yuriy.tymc...@me.com> wrote: >> > >> >> Hi everyone. >> >> >> >> I’m wandering if there was any sort of a discussion about a spaceship >> method used in Ruby. >> >> >> >> The concept is that you should implement a method <=> >> >> that returns something negative if the receiver is smaller then a >> parameter, >> >> positive when the receiver is greater then a parameter, >> >> and 0 if they are equal. >> >> >> >> This way if you are implementing comparable object’s the only method >> you have to redefine is spaceship (<=>). >> >> >> >> Yes, I know that i Pharo you have to only redefine < and =. But maybe >> it would be interesting to use spaceship :) >> >> >> >> What do you think? >> >> Cheers! >> >> Uko >> > >> > >> >> >> >