概要
Module#<= other -> bool | nil
詳細
比較演算子。self が other の子孫であるか同一クラスである場合、 true を返却
self が other の先祖のクラス/モジュールの場合、 false を返却
継承関係にないクラス同士の比較では nil を返却
サンプルコード
require 'tbpgr_utils' module ParentModule end class ImplModuleClass include ParentModule end class ExtendedClass < ImplModuleClass;end class LonelinessClass;end bulk_puts_eval binding, <<-EOS ImplModuleClass <= ParentModule ParentModule <= ParentModule ParentModule <= ImplModuleClass ExtendedClass <= ImplModuleClass ExtendedClass <= ExtendedClass ImplModuleClass <= ExtendedClass ExtendedClass <= ParentModule ParentModule <= ExtendedClass ParentModule <= ParentModule ParentModule <= ParentModule ParentModule <= LonelinessClass LonelinessClass <= LonelinessClass LonelinessClass <= ParentModule EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
出力
ImplModuleClass <= ParentModule # => true ParentModule <= ParentModule # => true ParentModule <= ImplModuleClass # => false ExtendedClass <= ImplModuleClass # => true ExtendedClass <= ExtendedClass # => true ImplModuleClass <= ExtendedClass # => false ExtendedClass <= ParentModule # => true ParentModule <= ExtendedClass # => false ParentModule <= ParentModule # => true ParentModule <= ParentModule # => true ParentModule <= LonelinessClass # => nil LonelinessClass <= LonelinessClass # => true LonelinessClass <= ParentModule # => nil