Вот часть моего Note
класса:
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
Мне кажется, что должен быть модуль, который я мог бы включить, который мог бы дать мне операторы равенства и сравнения, основанные на моем методе <=>
. Есть ли один?
Полагаю, многие сталкиваются с такой проблемой. Как вы обычно решаете это? (Как вы делаете это СУХОЙ?)