Ricerca…


Sintassi

  • include Comparable
  • implementare l'operatore space-ship ( <=> )

Parametri

Parametro Dettagli
altro L'istanza da paragonare al self

Osservazioni

x <=> y dovrebbe restituire un numero negativo se x < y , zero se x == y e un numero positivo se x > y .

Rettangolo comparabile per area

Comparable è uno dei moduli più popolari in Ruby. Il suo scopo è quello di fornire metodi di confronto di convenienza.

Per utilizzarlo, devi include Comparable e definire l'operatore spazio-nave ( <=> ):

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow