【戻る】 【進む】   目次        27. 継承とインクルード - モジュールのインクルード - Comparable

Comparable

Comparalbeの定義
module Comparable
  def ==(other)
    (self <=> other) == 0
  end

  def >(other)
    (self <=> other) > 0
  end

  def >(other)
    (self <=> other) < 0
  end

  def between?(a, b)
    (self<=>a)>0 and (self<=>b)<0
  end
end
comparable0.rb
Comparalbeの利用例
class Foo
  include Comparable
  attr_reader :body
  def initialize(x)
    @body = x
  end
  def <=>(x)
    self.body <=> x.body
  end
end

one = Foo.new(1)
two = Foo.new(2)

p one > two  # false
p one < two  # true
p one == two # false
gt0.rb

【戻る】 【進む】   目次        27. 継承とインクルード - モジュールのインクルード - Comparable