サイトアイコン Lonely Mobiler

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

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

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

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

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

Ruby: opening files relative to home directory - Stack Overflow

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

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
モバイルバージョンを終了