概要
Module#const_missing(name)
詳細
定義されていない定数を参照したときに Ruby インタプリタが呼び出すフックメソッド。
サンプルコード
class Hoge def self.const_missing(id) puts "@@@" Hoge.const_set(id, 'dummy value') Hoge.const_get(id) end end # const_missingが呼び出され、定数を動的に定義,呼び出しする puts Hoge::Hige # 1回目の呼び出しで定数を動的に定義したので2回目は直接定数を取得できる。 puts Hoge::Hige
出力
出力
@@@ dummy value dummy value