Buscar..


Sintaxis

  • include Comparable
  • implementar el operador de la nave espacial ( <=> )

Parámetros

Parámetro Detalles
otro La instancia a comparar con self

Observaciones

x <=> y debe devolver un número negativo si x < y , cero si x == y y un número positivo si x > y .

Rectángulo comparable por área

Comparable es uno de los módulos más populares en Ruby. Su finalidad es proporcionar métodos de comparación de conveniencia.

Para usarlo, debe include Comparable y definir el operador de la nave espacial ( <=> ):

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow