9
这里是我的Note
类的一部分:您可以在Ruby中定义<=>,然后自动定义==,>,<, > =和<=是否定义?
class Note
attr_accessor :semitones, :letter, :accidental
def initialize(semitones, letter, accidental = :n)
@semitones, @letter, @accidental = semitones, letter, accidental
end
def <=>(other)
@semitones <=> other.semitones
end
def ==(other)
@semitones == other.semitones
end
def >(other)
@semitones > other.semitones
end
def <(other)
@semitones < other.semitones
end
end
在我看来,像应该有一个模块,我可以包括能根据我<=>
方法给我平等和比较操作。有一个吗?
我猜很多人遇到这种问题。你通常如何解决它? (你如何使它干?)
啊太棒了!我知道会有一些东西,但搜索起来很难。 :P谢谢! – 2010-05-12 03:00:50