RPG Maker Wiki
Advertisement

O módulo Comparable provem suporte a comparação de valores, definindo automaticamente os operadores <=, <, >, >= e ==, além do método between?. Para incluir o módulo Comparable a uma classe é necessário definir o operador <=>.

Métodos[]

Método Argumentos Descrição
<
Menor que. Retorna true se o operador <=> retornar -1.
<=
Menor ou igual a.Retorna true se o operador <=> não retornar +1.
==
Igual a. Retorna true se o operador <=> retornar 0.
>
Maior que. Retorna true se o operador <=> retornar +1.
>=
Maior ou igual a. Retorna true se o operador <=> não retornar -1.
between?
min, max
Retorna true se self <=> min for +1 e se self <=> max for -1.

Exemplo[]

class Point
  include Comparable

  attr_accessor :x, :y

  def initialize(x, y)
    @x = x
    @y = y
  end

  def <=>(another_point)
     # Computa a distância da origem:
    dself = Math.hypot(@x, @y)
    dother = Math.hypot(another_point.x, another_point.y)
     # Compara os dois valores pelo operador <=> da classe Numeric:
    return dself <=> dother 
  end
end

p1 = Point.new(2, 3)
p2 = Point.new(3, 2)
p3 = Point.new(3, 3)

p1 == p2  #=> true (mesma distância)
p2 > p3   #=> false (p3 está mais longe da origem)
p1 < p2   #=> false (mesma distância)

Ligações externas[]

Wiki letter w.svg Este artigo é um esboço. Você pode ajudar a Makerpédia expandindo-o.  Editor: considere marcar com um esboço mais específico.
Advertisement