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> 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
High Octane SPRL
rue cour Boisacq 101 | 1301 Bierges | Belgium
Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller
�