Zoeken…


Syntaxis

  • include Comparable
  • de ruimteschipoperator implementeren ( <=> )

parameters

Parameter Details
anders Het exemplaar dat moet worden vergeleken met self

Opmerkingen

x <=> y moet een negatief getal retourneren als x < y , nul als x == y en een positief getal als x > y .

Rechthoek vergelijkbaar per oppervlakte

Comparable is een van de meest populaire modules in Ruby. Het doel is om vergelijkingsmethoden voor gemak te bieden.

Om het te gebruiken, moet je include Comparable en de ruimteschipoperator definiëren ( <=> ):

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow