Szukaj…


Składnia

  • include Comparable
  • zaimplementować operatora statku kosmicznego ( <=> )

Parametry

Parametr Detale
inny Instancja, którą należy porównać do self

Uwagi

x <=> y powinno zwrócić liczbę ujemną, jeśli x < y , zero, jeśli x == y a liczbę dodatnią, jeśli x > y .

Prostokąt porównywalny pod względem powierzchni

Comparable jest jednym z najpopularniejszych modułów w Rubim. Jego celem jest zapewnienie metod porównywania wygody.

Aby z niego skorzystać, musisz include Comparable i zdefiniować operatora statku kosmicznego ( <=> ):

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow