Reputation: 34013
What would be the most the concise way to express the following in Ruby:
Is x more, less or equal to the value y?
Upvotes: 1
Views: 110
Reputation: 118261
Do as below using spaceship operator(<=>
) :
Returns 0 if obj and other are the same object or obj
==
other, otherwisenil
.The
<=>
is used by various methods to compare objects, for exampleEnumerable#sort
,Enumerable#max
etc.Your implementation of
<=>
should return one of the following values:-1, 0, 1
ornil
.-1
meansself
is smaller than other. 0 means self is equal to other.1
meansself
is bigger than other.Nil
means the two values could not be compared.
x <=> y
Upvotes: 5