パンくず
Ruby Cookbook
Automatically Loading Libraries as Needed
概要
Automatically Loading Libraries as Needed
内容
利用する時に初めて対象ファイルをロードしたい場合には
autoloadを利用します。
サンプルコード
サンプル中で、ロード有無の確認のために
autoload? メソッドを利用しています。
このメソッドは未ロード時はロード対象の名称が出力され、
ロード済時はnilを返却します。
6_sub.rb ロードされるファイル
# encoding: Windows-31J class HogeSub def hoge_sub puts "hoge_sub" end end
6.rb requireでロードするサンプル
# encoding: Windows-31J require "pp" require "./6_sub" pp autoload?(:HogeSub) HogeSub.new.hoge_sub pp autoload?(:HogeSub)
6_auto.rb autoroadでロードするサンプル
# encoding: Windows-31J require "pp" autoload :HogeSub,"./6_sub" pp autoload?(:HogeSub) HogeSub.new.hoge_sub pp autoload?(:HogeSub)
出力
6.rb requireでロードするサンプル
nil hoge_sub nil
6_auto.rb autoroadでロードするサンプル
"./6_sub" hoge_sub nil