以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/07/05/225611より取得しました。


<=>メソッドはクラス比較にも使える

Rubinusのコードを見てたら発見したのでメモ。
通常、<=>メソッドは比較に使うメソッドです。
これを異なるクラス間でつかった場合……nilを返します。

1 <=> "a"
# >> nil

1 <=> (1..9)
# >> nil

この特性を生かして

class Range
  include Enumerable

  #略

  def cover?(value)
    # MRI uses <=> to compare, so must we.

    beg_compare = (@begin <=> value)
    return false unless beg_compare

    #略
  end

  #略
end



以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2015/07/05/225611より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14