Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > require_relative

module function Kernel.#require_relative

require_relative(relative_feature) -> bool

現在のファイルからの相対パスで require します。

require File.expand_path(File.join(File.dirname(__FILE__), relative_feature))

とほぼ同じです。

[PARAM] 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)