Ecco parte della mia classe Note
:Puoi definire <=> in Ruby e quindi avere ==,>, <, > = e <= definito automaticamente?
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
Mi sembra che ci dovrebbe essere un modulo che ho potuto comprendere che mi potrebbe dare i miei operatori di uguaglianza e di confronto sulla base di mio metodo <=>
. Ce n'è uno?
Immagino che molte persone incontrino questo tipo di problema. Come lo risolvi di solito? (Come si fa a renderlo ASCIUTTO?)
ah fantastico! Sapevo che ci sarebbe stato qualcosa, ma era piuttosto difficile da cercare. : P Grazie! –