在Ruby中表达以下内容的最简洁方法是什么:
x是否大于,小于或等于y?
答案 0 :(得分:5)
使用spaceship operator(<=>
)执行以下操作:
如果obj和其他是同一个对象或obj
==
其他对象,则返回0,否则返回nil
。各种方法使用
<=>
来比较对象,例如Enumerable#sort
,Enumerable#max
等。
<=>
的实施应返回以下值之一:-1, 0, 1
或nil
。-1
表示self
小于其他人。 0表示自我等于其他。1
表示self
比其他更大。Nil
表示无法比较这两个值。
x <=> y