Comment puis-je obtenir une liste des dossiers qui existent dans un certain répertoire avec Ruby?
Dir.entries()
semble être proche, mais je ne sais pas comment me limiter aux dossiers.
Comment puis-je obtenir une liste des dossiers qui existent dans un certain répertoire avec Ruby?
Dir.entries()
semble être proche, mais je ne sais pas comment me limiter aux dossiers.
À mon avis, Pathname
convient beaucoup mieux aux noms de fichiers qu'aux chaînes ordinaires.
require "pathname"
Pathname.new(directory_name).children.select { |c| c.directory? }
Cela vous donne un tableau de tous les répertoires de ce répertoire sous forme d'objets Pathname.
Si vous voulez avoir des ficelles
Pathname.new(directory_name).children.select { |c| c.directory? }.collect { |p| p.to_s }
Si directory_name
était absolu, ces chaînes sont également absolues.
Vous pouvez utiliser File.directory?
du module FileTest
pour savoir si un fichier est un répertoire. La combinaison de ceci avec Dir.entries
fait un joli (liner):
directory = 'some_dir'
Dir.entries(directory).select { |file| File.directory? File.join(directory, file}
Edit: mis à jour selon la correction de ScottD.
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.