Dir.glob()を使うときは、パスを絶対パスに変換してから

WindowsでDir.glob()を使うときは、パスを絶対パスに変換しよう。

Ruby on Railsを使っていて、あるコードで相対パスのままDir.glob(path)としているため、ファイルを見つけてもらえず、はまりました。

path= 'C:\test1\test1_1/../test1_2'

#これはファイルが見つからない
Dir.glob("#{path}/*")

#これはファイルが見つかる
Dir.glob("#{File.expand_path(path)}/*")

コメント

  1. Pingback: Rubyでファイル名に連番をつける(Windows環境) | IT技術情報局

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください