Suche…


Syntax

  • include Comparable
  • den Raumschiffbetreiber implementieren ( <=> )

Parameter

Parameter Einzelheiten
andere Die Instanz, die mit dem self verglichen werden soll

Bemerkungen

x <=> y sollte eine negative Zahl zurückgeben, wenn x < y , null, wenn x == y und eine positive Zahl, wenn x > y .

Rechteck vergleichbar nach Fläche

Comparable ist eines der beliebtesten Module in Ruby. Ihr Zweck ist es, mit Vergleichsmethoden bequemer zu gestalten.

Um es zu verwenden, müssen Sie Comparable include Comparable und den Raumschiffbetreiber definieren ( <=> ):

class Rectangle
  include Comparable

  def initialize(a, b)
    @a = a
    @b = b
  end

  def area
    @a * @b
  end

  def <=>(other)
    area <=> other.area
  end
end

r1 = Rectangle.new(1, 1)
r2 = Rectangle.new(2, 2)
r3 = Rectangle.new(3, 3)

r2 >= r1 # => true
r2.between? r1, r3 # => true
r3.between? r1, r2 # => false


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow