[Ruby] Ruby で .rb ファイルを require する
memo.
[markdown]
## ローカルファイルの読み込み
“`ruby
require ‘./foo’
“`
## require は、$LOAD_PATH に登録されている探索パスから検索する
“`prettyprinted
% 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
“`ruby
$LOAD_PATH << File.dirname(__FILE__)
``` > * [Ruby の require と ActiveSupportの自動requireについて – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/ruby-require-active_support-load/)
その2
“`ruby
$:.unshift File.dirname(__FILE__)
“`
> * [Rubyでrbファイルをrequireするときはドットを打つと良さそう – アインシュタインの電話番号](http://blog.ruedap.com/2011/05/31/ruby-require-load-path)
## ディレクトリ内のファイルをまとめて require する
“`ruby
Dir[File.expand_path(‘../lib’, __FILE__) << '/*.rb'].each do |file|
require file
end
``` > * [Rubyで指定ディレクトリ以下のファイルを全てrequireする方法 – くろの雑記帳](http://kurochan-note.hatenablog.jp/entry/2014/02/15/235706)
> * [RubyのFile.expand_path(‘相対パス’, __FILE__)の意味 – maeharinの日記](http://d.hatena.ne.jp/maeharin/20130104/p1)
[/markdown]