107 votes

Comment créer des répertoires de manière récursive en ruby ?

Je veux stocker un fichier sous le nom de /a/b/c/d.txt, mais je ne sais pas si l'un de ces répertoires existe et je dois les créer récursivement si nécessaire. Comment peut-on faire cela en ruby ?

0voto

kamal patwa Points 339

Vous pouvez également utiliser votre propre logique

def self.create_dir_if_not_exists(path)
  recursive = path.split('/')
  directory = ''
  recursive.each do |sub_directory|
    directory += sub_directory + '/'
    Dir.mkdir(directory) unless (File.directory? directory)
  end
end

Donc, si le chemin est "tmp/a/b/c" si 'tmp' n'existe pas, 'tmp' est créé, puis 'tmp/a/' et ainsi de suite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X