[Ruby] Ruby で .rb ファイルを require する
memo.
ローカルファイルの読み込み
require './foo'
require は、$LOAD_PATH に登録されている探索パスから検索する
% pry
[1] pry(main)> $LOAD_PATH
=> ["/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/coderay-1.1.0/lib",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/slop-3.5.0/lib",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/method_source-0.8.2/lib",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/pry-0.9.12.6/lib",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby/2.1.0",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby/2.1.0/x86_64-darwin13.0",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby/2.1.0",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby/2.1.0/x86_64-darwin13.0",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0",
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0"]
[3] pry(main)> $LOAD_PATH << File.dirname(__FILE__)
=> ["/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/coderay-1.1.0/lib",
:
"/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0",
"."]
カレントディレクトリをロードパスに追加する処理。
その1
$LOAD_PATH << File.dirname(__FILE__)
その2
$:.unshift File.dirname(__FILE__)
ディレクトリ内のファイルをまとめて require する
Dir[File.expand_path('../lib', __FILE__) << '/*.rb'].each do |file|
require file
end