混淆Ruby的<=>运算符

7

我对Ruby的<=>运算符感到困惑。它与==或===有何不同?有没有全面的示例/用例?谢谢。

3个回答

14

<=>是一个组合比较操作符,它会返回以下结果:当左操作数等于右操作数时返回0,当左操作数大于右操作数时返回1,当左操作数小于右操作数时返回-1。


9

在这段代码片段中,最让我困惑的是什么?假设a = ["d", "a", "e", "c", "b"],这段代码具体是如何工作的?a.sort {|x,y| y <=> x } - arscariosus

2

例如,在排序中,== 将不起作用

[3,5,6,2,7].sort{|x,y| x <=>y }

== 返回布尔值
<=> 返回整数 (-1,0,1)


1
我假设-1和false相同,1和true相同。但在这个例子中它是如何工作的? - Ka Mok

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接