Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Module | >

概要

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 > ImplModuleClass
ExtendedClass > ImplModuleClass
ImplModuleClass > ExtendedClass
ExtendedClass > ParentModule
ParentModule > ExtendedClass
ParentModule > ParentModule
ParentModule > LonelinessClass
LonelinessClass > ParentModule
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

出力

ImplModuleClass > ParentModule  # => false
ParentModule > ImplModuleClass  # => true
ExtendedClass > ImplModuleClass # => false
ImplModuleClass > ExtendedClass # => true
ExtendedClass > ParentModule    # => false
ParentModule > ExtendedClass    # => true
ParentModule > ParentModule     # => false
ParentModule > LonelinessClass  # => nil
LonelinessClass > ParentModule  # => nil