Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Comparableモジュール

module Comparable

クラスの継承リスト: Comparable

要約

比較演算を許すクラスのための Mix-in です。このモジュールをインクルー ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい る必要があります。

self <=> other は

をそれぞれ返すことが期待されています。

他の比較演算子は、 <=> 演算子を利用して定義されます。

目次

インスタンスメソッド
< <= == > >= between?

インスタンスメソッド

self < other -> bool[permalink][rdoc]

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。

例:

1 < 1   # => false
1 < 2   # => true
self <= other -> bool[permalink][rdoc]

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。

例:

1 <= 0   # => false
1 <= 1   # => true
1 <= 2   # => true
self == other -> bool[permalink][rdoc]

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。

self <=> other で例外が発生した場合は例外を無視して false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。

例:

1 == 1   # => true
1 == 2   # => false
self > other -> bool[permalink][rdoc]

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。

例:

1 > 0   # => true
1 > 1   # => false
self >= other -> bool[permalink][rdoc]

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。

例:

1 >= 0   # => true
1 >= 1   # => true
1 >= 2   # => false
between?(min, max) -> bool[permalink][rdoc]

比較演算子 <=> をもとに self が min と max の範囲内(min, max を含みます)にあるかを判断します。

以下のコードと同じです。

self >= min and self <= max
[PARAM] min:
範囲の下端を表すオブジェクトを指定します。
[PARAM] max:
範囲の上端を表すオブジェクトを指定します。
[EXCEPTION] ArgumentError:
self <=> min か、self <=> max が nil を返 したときに発生します。
3.between?(1, 5)               #=> true
6.between?(1, 5)               #=> false
'cat'.between?('ant', 'dog')   #=> true
'gnu'.between?('ant', 'dog')   #=> false