1. ホーム
  2. ruby

[解決済み] Rubyで指定されたディレクトリが存在するかどうかを確認する方法

2022-02-24 14:08:16

質問

指定されたディレクトリが存在するかどうかに基づいて、SubversionのURLを自動的にチェックアウトまたは更新するスクリプトを書こうとしています。

なぜか、私のコードはうまくいかず、常に がfalseであっても。

def directory_exists?(directory)
  return false if Dir[directory] == nil
  true
end

何が間違っているのでしょうか?

どうすればいいですか?

もし、探しているファイルが ディレクトリ を使用することもできます。 File.directory? または Dir.exist? . これは、ファイルが存在し、かつディレクトリである場合にのみ真を返します。

余談ですが、Rubyがメソッド内の最後の式の結果を自動的に返すことを利用して、よりイディオムな書き方をすることも可能でしょう。つまり、このように書くことができる。

def directory_exists?(directory)
  File.directory?(directory)
end

なお、今回のケースでは、メソッドの使用は必要ありません。