const_defined?

const_defined?

refe

 Module#const_defined?
 --- const_defined?(name)
 
     モジュールname で指定される名前の定数が定義されている時真
     を返します。nameSymbol か文字列で指定します。
 
     スーパークラスインクルードしたモジュールで定義された定数は対象には
     なりません。(ただし、Object だけは例外
     )
 
         module Kernel
           FOO = 1
         end
 
         # Object は include したモジュールの定数に対しても
         # true を返す
         p Object.const_defined? :FOO    # => true
 
         module Bar
           BAR = 1
         end
         class Object
           include Bar
         end
         # ユーザ定義のモジュールに対しても同様
         p Object.const_defined? :BAR    # => true
 
         class Baz
           include Bar
         end
         # Object以外では自身の定数だけがチェック対象
         p Baz.const_defined? :BAR       # => false