Поиск…


Синтаксис

  • include Comparable
  • <=> оператора космического корабля ( <=> )

параметры

параметр подробности
Другой Экземпляр, который нужно сравнить с self

замечания

x <=> y должно возвращать отрицательное число, если x < y , ноль, если x == y и положительное число, если x > y .

Прямоугольник, сравнимый по площади

Comparable является одним из самых популярных модулей в Ruby. Его цель - предоставить удобные методы сравнения.

Чтобы использовать его, вы должны include Comparable и определить оператора космического корабля ( <=> ):

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow