我想知道ruby方法中def <=>(other)
的含义是什么。我想知道ruby方法中的<=>
是什么。
答案 0 :(得分:2)
<=>
不是&#34;在#34; Ruby方法,#<=>
是一个Ruby方法。此方法用于可比对象(有序集的成员),通过包含#<
mixin,轻松获得#>
,#==
,Comparable
等方法的实现。
class GradeInFiveLevelScale
include Comparable
attr_reader :grade
def initialize grade; @grade = grade end
def <=> other; other.grade <=> grade end
def to_s; grade.to_s end
end
a = GradeInFiveLevelScale.new 1
b = GradeInFiveLevelScale.new 1
c = GradeInFiveLevelScale.new 3
a > b #=> false
a >= b #=> true
a > c #=> true
答案 1 :(得分:2)
&LT; =&GT;是组合比较运算符。如果第一个操作数等于秒,则返回0;如果第一个操作数大于第二个,则返回1;如果第一个操作数小于第二个,则返回-1。
有关此SO thread的更多信息。
答案 2 :(得分:2)