Dưới đây là một phần của lớp Note
tôi:Bạn có thể xác định <=> trong Ruby và sau đó có ==,>, <, > = và <= được xác định tự động không?
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
Dường như với tôi như không nên có một module mà tôi có thể bao gồm có thể cung cấp cho tôi các nhà khai thác bình đẳng và so sánh của tôi dựa trên phương pháp <=>
tôi. Có cái nào không?
Tôi đoán rất nhiều người đã gặp phải vấn đề này. Làm thế nào để bạn thường giải quyết nó? (Làm thế nào để bạn làm cho nó KHÔ?)
ah tuyệt vời! Tôi biết có gì đó, nhưng thật khó để tìm kiếm. : P Cảm ơn! –