概要
Module#=== obj -> bool
詳細
指定された obj が
条件 | 戻り値 |
---|---|
自身かそのサブクラスのインスタンスであるとき | true |
obj が自身をインクルードしたクラスかそのサブクラスのインスタンスであるとき | true |
その他 | false |
obj.kind_of?(SomeClass)と同じ。
'===' は case-when の時に利用される。
サンプルコード
require 'tbpgr_utils' module ParentModule end class ImplModuleClass include ParentModule end class ExtendedClass < ImplModuleClass;end class LonelinessClass;end imc = ImplModuleClass.new ec = ExtendedClass.new bulk_puts_eval binding, <<-EOS ParentModule === imc ImplModuleClass === imc ParentModule === ec ImplModuleClass === ec ExtendedClass === ec LonelinessClass === ec EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
出力
ParentModule === imc # => true ImplModuleClass === imc # => true ParentModule === ec # => true ImplModuleClass === ec # => true ExtendedClass === ec # => true LonelinessClass === ec # => false