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  # => true
ParentModule < ImplModuleClass  # => false
ExtendedClass < ImplModuleClass # => true
ImplModuleClass < ExtendedClass # => false
ExtendedClass < ParentModule    # => true
ParentModule < ExtendedClass    # => false
ParentModule < ParentModule     # => false
ParentModule < LonelinessClass  # => nil
LonelinessClass < ParentModule  # => nil