Réponses:
Si vous utilisez des machines unixy, n'oubliez pas que vous pouvez toujours exécuter une commande shell sous ruby en la plaçant dans des backticks.
`mkdir -p /a/b/c`
Chemin à la rescousse!
Pathname('/a/b/c/d.txt').dirname.mkpath
FileUtils.mkdir_p '/a/b/c'
+ créer d.txt
en même temps?
Pathname('/a/b/c/d.txt').dirname.mkpath
et File.write('/a/b/c/d.txt', content)
sans filename = '/a/b/c/d.txt'.rpartition('/').last
et le reste de l'analyse
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éé, alors «tmp / a /» et ainsi de suite.
FileUtils
etPathname
sont probablement les outils les plus importants pour la création de scripts Ruby shell.