9

これが私の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

私の方法に基づいて、等式演算子と比較演算子を提供できるモジュールを含めることができるはずだと私には思えます<=>。ありますか?

多くの人がこの種の問題に遭遇していると思います。通常、どのように解決しますか?(どうやって乾かしますか?)

4

1 に答える 1

13

そうですinclude Comparable- 唯一の要件は、宇宙船<=>メソッドを定義することです。

于 2010-05-12T02:57:12.793 に答える