Comme d'autres l'ont dit, Dir.foreach
est une bonne option ici. Notez, cependant, que Dir.entries
et Dir.foreach
montrera toujours .
et ..
(l'actuel et le répertoire parent). En général, vous voulez pas travailler sur eux, de sorte que vous pouvez faire quelque chose comme ceci:
Dir.foreach('/path/to/dir') do |item|
next if item == '.' or item == '..'
# do work on real items
end
Dir.foreach
et Dir.entries
également afficher tous les éléments dans le répertoire caché et non caché de même. Souvent c'est ce que vous voulez, mais si ce n'est pas le cas, vous avez besoin de faire quelque chose pour sauter par-dessus les fichiers et répertoires cachés.
Sinon, vous voudrez peut-être regarder en Dir.glob
qui fournit une simple jokers:
Dir.glob('/path/to/dir/*.rb') do |rb_file|
# do work on files ending in .rb in the desired directory
end