x是更多,更少还是等于y?

时间:2014-01-21 14:40:32

标签: ruby comparison

在Ruby中表达以下内容的最简洁方法是什么:

x是否大于,小于或等于y?

1 个答案:

答案 0 :(得分:5)

使用spaceship operator(<=>)执行以下操作:

  

如果obj和其他是同一个对象或obj ==其他对象,则返回0,否则返回nil

     

各种方法使用<=>来比较对象,例如Enumerable#sortEnumerable#max等。

     

<=>的实施应返回以下值之一:-1, 0, 1nil-1表示self小于其他人。 0表示自我等于其他。 1表示self比其他更大。 Nil表示无法比较这两个值。

x <=> y