与 Ruby 的 <=> 混淆操作员
我对 Ruby 的 <=> 感到困惑操作员。它与 == 或 === 有什么不同?有没有全面的示例/用例?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我对 Ruby 的 <=> 感到困惑操作员。它与 == 或 === 有什么不同?有没有全面的示例/用例?谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
<=>
是组合比较运算符。如果 LHS 等于 RHS,则返回 0;如果 LHS 大于 RHS,则返回 1;如果 LHS 小于 RH,则返回 -1<=>
is the combined comparison operator. it returns 0 if LHS equals RHS, 1 if LHS is greater than the RHS and -1 if LHS is less than RHs它被称为“宇宙飞船”操作员。更多信息:什么是 Ruby <=> (太空飞船)运营商? 和 http://en.wikipedia.org/wiki/Spaceship_operator< /a>
It's called the 'spaceship' operator. More info: What is the Ruby <=> (spaceship) operator? and http://en.wikipedia.org/wiki/Spaceship_operator
== 不适用于排序,例如
[3,5,6,2,7].sort{|x,y| x <=>y }
== 返回布尔值
<=>返回 Fixnum (-1,0,1)
== will NOT work in sort for example
[3,5,6,2,7].sort{|x,y| x <=>y }
== returns Boolean
<=> returns Fixnum (-1,0,1)