为了账号安全,请及时绑定邮箱和手机立即绑定

什么是Ruby<=>(宇宙飞船)操作符?

什么是Ruby<=>(宇宙飞船)操作符?

呼唤远方 2019-10-13 12:08:14
什么是Ruby<=>(宇宙飞船)操作符?什么是红宝石<=>(宇宙飞船)操作员?操作符是否由其他语言实现?
查看完整描述

3 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

Perl很可能是使用它的第一种语言。Groovy是另一种支持它的语言。基本上没有回来1 (true)或0(false)取决于参数是相等的还是不相等的,太空船运算符将返回10,或−1取决于左参数相对于右参数的值。

a <=> b :=
  if a < b then return -1
  if a = b then return  0
  if a > b then return  1
  if a and b are not comparable then return nil

它对于排序数组很有用。



查看完整回答
反对 回复 2019-10-14
?
森林海

TA贡献2011条经验 获得超2个赞

我将用简单的例子来解释。

  1. [1,3,2] <=> [2,2,2]

    Ruby将从左侧开始比较两个数组的每个元素。1因为左数组小于2正确的排列。因此左数组比右数组小。输出-1.

  2. [2,3,2] <=> [2,2,2]

    如前所述,它将首先比较等于的第一个元素,然后比较第二个元素,在这种情况下,左数组的第二个元素更大,因此输出是1.



查看完整回答
反对 回复 2019-10-14
  • 3 回答
  • 0 关注
  • 614 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信