Hier ist ein Teil meiner Note
Klasse:Können Sie in Ruby <=> definieren und haben dann ==,>, <, > =, und <= automatisch definiert?
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
Mir scheint es, als gäbe es ein Modul sein sollte, dass ich, dass mir meine Gleichheit und Vergleichsoperatoren geben auf der Grundlage meiner <=>
Methode umfassen könnte könnte. Ist dort eines?
Ich vermute, viele Leute stoßen auf diese Art von Problem. Wie lösen Sie es normalerweise? (Wie machen Sie es trocken?)
ah großartig! Ich wusste, dass es etwas geben würde, aber es war schwer zu suchen. : P Danke! –