This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
DUT2Curling/m/ReadFolder.rb

33 lines
1.1 KiB
Ruby

class String #ajout de la méthode à la classe String
def liste_rep(espacement = "")
#initialisation
i=0
fich_dir = [""]
all_dir = ""
liste_exclus = [".", ".."]
d = Dir.open(self)
#sort les fichiers sans . et .. qui nous interresse pas
liste_dir = d.sort - liste_exclus
liste_dir.each { |fichier| #pour chaque fichier touvé
case File.ftype(self+fichier)
when "directory" #si on trouve un dossier on l'ajoute et on cherche son contenu avec un apelle recursif
fich_dir[i] = "#{espacement} + #{fichier}/ \n"
espacement += " "
fich_dir[i+1] = (self + fichier + "/").liste_rep(espacement)
espacement = espacement[0, espacement.length-4]
i+=2
when "file" # si c'est un fichier on l'ajoute simplement
fich_dir[i] = "#{espacement} - #{fichier} \n"
i+=1
end
}
fich_dir.each { |n|
all_dir += n
}
return all_dir; #return l'arboressence des fichiers sous forme d'une chaine de caractere
end
end