カレントディレクトリの変更
FileUtils#cdでカレントディレクトリを変更してブロックを実行します。ブロックを抜けるとそこは元のディレクトリです。
サンプル:
require "fileutils" puts FileUtils.pwd FileUtils.cd("friends") { # カレントディレクトリを変更 puts FileUtils.pwd } puts FileUtils.pwd
出力:
XXX/ruby XXX/ruby/friends XXX/ruby
カレントディレクトリはrequireやloadでのロードパスにも影響します。
ファイル構成:
├ mii.rb └ friends ├ kuro.rb └ shiro.rb
mii.rb:
require "fileutils" FileUtils.cd("friends") { # カレントディレクトリを変更 require "kuro" # friendsからのパスで指定 print "mii\n" }
kuro.rb:
require "shiro" # kuro.rbからのパスで指定。 print "kuro\n"
shiro.rb:
print "shiro\n"
mii.rbの実行結果:
shiro kuro mii