読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Kernel#autoload

Ruby

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

ロードするファイルを最小化(必要になるまでロードしない)するときに使うみたいですね。ふむ。