¿Qué hace el método?

Quiero saber cual es el significado de def <=>(other) in ruby methods. I want to know what is the <=> in ruby method.

preguntado el 17 de mayo de 13 a las 10:05

2 Respuestas

<=> is not "in" Ruby method, #<=> is a Ruby method. This method is used for comparable objects (members of ordered sets) to easily gain implementation of #<, #>, #== etc. methods by including Comparable mezclando

class GradeInFiveLevelScale
  include Comparable
  attr_reader :grade
  def initialize grade; @grade = grade end
  def <=> other; other.grade <=> grade end
  def to_s; grade.to_s end
end

a = GradeInFiveLevelScale.new 1
b = GradeInFiveLevelScale.new 1
c = GradeInFiveLevelScale.new 3

a > b #=> false
a >= b #=> true
a > c #=> true

contestado el 17 de mayo de 13 a las 10:05

<=> is the combined comparison operator. It returns 0 if first operand equals second, 1 if first operand is greater than the second and -1 if first operand is less than the second.

Más información sobre esto SO hilo.

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.