Rubyリファレンス: Home

=== (Object)

Edit   History

標準クラス・モジュール > Object > ===

obj === other_obj

===演算子(メソッド)は、case式でオブジェクトをテストするのに使われます。Objectクラスの=====の結果を返すだけです。RegexpModuleRangeなどのクラスでは===は上書きされて、「パターンマッチ」、「そのクラスに属するかどうか」、「範囲に含まれるかどうか」のように機能が変わります。

次の例は、case式を使って"hello" === "hello"/^r/ === "ruby"String === "world"を試しています。

["hello", "ruby", "world"].each do |obj|
  case obj
  when "hello" then puts "object is \"hello\""
  when /^r/    then puts "object matches /^r/"
  when String  then puts "object is String"
  end
end
object is "hello"
object matches /^r/
object is String

関連項目