require_relativeでファイルを読み込む場合
自分のファイルが存在するディレクトリがパスの起点になる。
. ├── bar │ └── ruby.rb └── foo └── test.rb
ruby.rb
からfoo
にあるtest.rb
を取得する場合は
require_relative '../foo/test'
となる。
つまり、bar/ruby.rb
から見た相対パスでfoo/test.rb
を読み込む。
../
で「ひとつ上のディレクトリ」という意味になる。
../foo/test
は、「ひとつ上の階層のディレクトリ/fooディレクトリ/test.rbファイル」を意味している。文末の.rb
は省略できる。
同じディレクトリ内にあるファイルを取得する場合
foo
ディレクトリ内にあるoniku.rb
をtest.rb
から読み込みたい場合。
. ├── bar │ └── ruby.rb └── foo ├── oniku.rb └── test.rb
require_relative
を使うと、以下の方法で書くことができる。
require_relative 'oniku' require_relative './oniku'
./
は「カレントディレクトリ」を意味する。