03c8e5c2ca
new file: c/CtrlCheckLinks.rb new file: c/Main.rb deleted: c/main.rb new file: fichier/dir/aa modified: m/ReadFile.rb modified: m/ReadFolder.rb modified: v/Vue1.rb deleted: v/VueError.rb new file: v/VueResult.rb
33 lines
1.1 KiB
Ruby
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 |