Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Rangeクラス > ===

instance method Range#===

self === obj -> bool
include?(obj) -> bool
member?(obj) -> bool

obj が範囲内に含まれている時に真を返します。

Range#=== は主に case 式での比較に用いられます。

<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。

[PARAM] obj:
比較対象のオブジェクトを指定します。
p (0.1 .. 0.2).include?(0.15) # => true
# 1.8.1 以前
p (0.1 .. 0.2).member?(0.15)  # => cannot iterate from Float (TypeError)
# 1.8.2 以降
p (0.1 .. 0.2).member?(0.15)  # => true

# 文字列の場合、include? は辞書順の比較になる
p ("a" .. "c").include?("ba") # => true
# 1.8.1 以前
p ("a" .. "c").member?("ba")  # => false
# 1.8.2 以降
p ("a" .. "c").member?("ba")  # => true
# 1.9.1 以降
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").member?("ba")  # => false

[SEE_ALSO] 制御構造/case

[SEE_ALSO] Range#cover?

class Range