Ruby Language
Comparable
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