4 метода проверки существования каталога в Ruby

Метод 1: Dir.exist?

Dir.существует? Метод — это простой способ проверить, существует ли каталог в Ruby. Он возвращает логическое значение, указывающее, существует каталог или нет.

if Dir.exist?("ruby")
  puts "The directory 'ruby' exists."
else
  puts "The directory 'ruby' does not exist."
end

Метод 2: File.directory?

Каталог File.directory? Метод также можно использовать для проверки существования каталога. Он возвращает true, если заданный путь является каталогом, в противном случае — false.

if File.directory?("ruby")
  puts "The directory 'ruby' exists."
else
  puts "The directory 'ruby' does not exist."
end

Метод 3: File.exist? с файлом::DIRECTORY

Другой подход — использовать File.exist? метод с константой File::DIRECTORY. Этот метод проверяет, существует ли данный путь и является ли каталогом.

if File.exist?("ruby") && File.ftype("ruby") == File::DIRECTORY
  puts "The directory 'ruby' exists."
else
  puts "The directory 'ruby' does not exist."
end

Метод 4. Использование обработки исключений

Вы также можете использовать обработку исключений, чтобы определить, существует ли каталог. В этом методе мы пытаемся получить доступ к каталогу и устранить ошибку, если она не существует.

begin
  Dir.chdir("ruby")
  puts "The directory 'ruby' exists."
rescue Errno::ENOENT
  puts "The directory 'ruby' does not exist."
end