ruby でホームディレクトリのファイルをオープンする

シェアする

ruby であるスクリプトを書いてる時に、設定ファイルをホームディレクトリに置いてファイルオープンしようと以下のように書いたところエラーが出た。

irb(main):001:0> open('~/.hoge')
Errno::ENOENT: No such file or directory - ~/.hoge

ls ~/ してみると確かに対象のファイルはある。

調べてみると ~ はシェルが展開してくれるだけだから ruby からじゃ使えない的な事が書いてあった。

なのでホームディレクトリにあるファイルを扱う場合には以下のように書く。

irb(main):002:0> open(ENV['HOME']+'/.hoge')
=> #<File:/Users/ryomatsu/.hoge>
irb(main):003:0> open("#{Dir.home}/.hoge")
=> #<File:/Users/ryomatsu/.hoge>

これで読み込めた。

Sponsored Link

シェアする

フォローする