Type and double dispatch + nil considérations come to mind. nil <=> 7 gives? 7.0 <=> 3 gives ? Object <=>: anObject (self = anObject) ifTrue: [ ^0]. (self < anObject) ifTrue: [ ^ -1] ifFalse: [ ^ 1]. "otherwise let's raise an error" What can now go wrong from here ? Phil On Monday, November 4, 2013, Stéphane Ducasse wrote:
do you have a real use case?
Stef
On Nov 4, 2013, at 1:32 PM, Yuriy Tymchuk <yuriy.tymchuk@me.com<javascript:;>> 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
-- --- Philippe Back Dramatic Performance Improvements Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027 Mail:phil@highoctane.be | Web: http://philippeback.eu Blog: http://philippeback.be | Twitter: @philippeback Youtube: http://www.youtube.com/user/philippeback/videos High Octane SPRL rue cour Boisacq 101 | 1301 Bierges | Belgium Pharo Consortium Member - http://consortium.pharo.org/ Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller