lundi 2 juin 2008

Ruby et la gestion de fichiers

Après avoir eu un aperçu sur quelques fonctionnalités du langage Ruby nous allons maintenant aborder l'utilité de ce dernier dans la gestion de fichiers.
Pour cela nous allons vous montrer quelques petits programmes qui illustrent bien le côté pratique et simpliste de ruby.
Nous expliquerons le code petit à petit.

Dans ce premier exemple, en ligne de commande, lors de l'exécution du programme qui suit, on a rajouté des arguments.
ex : monprogruby.rb argu1 argu2
Les arguments seront ainsi stockés dans un tableau qui se nomme ARGV, on peut les récupérer par la suite dans le programme ruby.
Pour récupérer le premier argument il suffit de taper ARGV[0].

Si l'on exécute ce programme sans argument, un fichier par défaut est créé.
if ARGV[0]
nomfichier = ARGV[0]
else
puts "Vous n'avez pas specifie
d'argument, un fichier par defaut nommé fichier.txt a donc ete cree"
nomfichier="fichier.txt"
end
Dans le cas contraire, si le fichier spécifie existe, il est créé, autrement on le crée.


if !File.file?(nomfichier)
File::new(nomfichier, "w+")
puts "Le fichier #{nomfichier} n'existe pas, il a donc ete cree"
else
puts "Le fichier
existe"
end

Si le fichier est en mode écriture, on écrit dedans.
mon_tabl = ["Bonjour,", "Ceci est un fichier qui contient cette ligne ... ",
"Puis celle-ci"]
if(!File.writable?(nomfichier))
puts "Veuillez mettre le fichier en ecriture !"
else
mon_fichier = File.open(nomfichier, "w")
mon_tabl.each { element
mon_fichier.write element+"\n"
}
mon_fichier.close
end

Pour afficher le contenu du fichier ligne par ligne avec le numéro de celle-ci il suffit de taper le code suivant :
mon_fichier = File.open(nomfichier, "r")
i = 1
mon_fichier.each_line { ligne
puts "#{i} - #{ligne}"
i += 1
}

Pour renommer un fichier texte par exemple tata en toto il faut avoir recours au code suivant:

File::rename("tata.txt", "toto.txt")

source : http://pbnaigeon.developpez.com/tutoriel/ruby/premiers-pas-avec-ruby/#LVIII

0 commentaires: