Ruby 操作员<=&燃气轮机;红宝石色

Ruby 操作员<=&燃气轮机;红宝石色,ruby,Ruby,可能重复: 我看到一个代码和一个我不熟悉的操作员 @array << {:suffix=> substring, :index => i} @array.sort! { |x,y| x[:suffix] <=> y[:suffix]} @array substring,:index=>i} @数组,排序!{| x,y | x[:后缀]y[:后缀]} 我不能用谷歌搜索。做什么 它执行为特定类定义的比较。如果是…是真的,那么1这是从Perl借来的。它通常

可能重复:

我看到一个代码和一个我不熟悉的操作员

 @array << {:suffix=> substring, :index => i}
 @array.sort! { |x,y| x[:suffix] <=> y[:suffix]}
@array substring,:index=>i}
@数组,排序!{| x,y | x[:后缀]y[:后缀]}

我不能用谷歌搜索。
做什么

它执行为特定类定义的比较。如果是
…<
为true,如果
…=,则返回
-1
为true,则
0
,如果
…>
是真的,那么
1

这是从Perl借来的。它通常用于排序,因为如果左操作数小于右操作数,则返回-1;如果右操作数大于左操作数,则返回1;否则返回0

1 <=> 2 # => -1
2 <=> 1 # => 1
1 <=> 1 # => 0
12#=>-1
2  1 # => 1
1  1 # => 0
它被称为

对于核心数值类和字符串类,它是一个返回-1、0或1的比较运算符


理论上,一个类可以定义任何操作符来做它想做的任何事情,但这将是排序时使用的方法。如果需要订购任意应用程序类,那么为该类定义
可能是有意义的。

我的答案中有一个链接:)是你的朋友吗