Kernel#autoload
Kernel#autoloadで任意の定数を参照した場合に、指定したファイルをrequireするように設定できます。
# 定数Fooを参照した場合に、fooをrequireする autoload :Foo, "foo" module Var # 定数Var::Hogeを参照した場合に、var/hoge をrequireする autoload :Hoge, "var/hoge" end Foo Var::Hoge
foo.rbとvar/hoge.rbは以下。
module Foo; end puts "foo"
module Var module Hoge end end puts "hoge"
実行結果です。
foo hoge
ロードするファイルを最小化(必要になるまでロードしない)するときに使うみたいですね。ふむ。