require_relative(relative_feature) -> bool
[permalink][rdoc][edit]-
現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから require_relative を呼出すと必ず失敗します。
- [PARAM] relative_feature:
- ファイル名の文字列です。
- [EXCEPTION] LoadError:
- ロードに失敗した場合に発生します。
[SEE_ALSO] Kernel.#require
require と load のスコープ
ローカル変数はファイル間では共有されません。ですので、ロードしたライブラリのローカル変数をロード元のスクリプトから直接取得することはできません。このスコープの扱い方はKernel.#loadでも同様です。
---------- some.rb ----------- $a = 1 @a = 1 A = 1 a = 1 ---------- end some.rb ------- require 'some' p $a #=> 1 p @a #=> 1 p A #=> 1 p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)