Fichier Ruby E / S

Fichier Ruby E / S
Travailler avec des fichiers est pratiquement une exigence pour tout développeur. Dans la plupart des cas, si vous n'enregistrez pas de données dans une base de données, vous l'enregistrez probablement dans un fichier.

Ce guide vous montrera comment utiliser les méthodes d'E / S Ruby pour ouvrir, lire, écrire et créer de nouveaux fichiers.

Commençons par les bases de l'entrée et de la sortie dans Ruby

E / S de base

Les méthodes d'E / S les plus élémentaires dans Ruby sont celles que nous utilisons pour imprimer du texte à l'écran.

Putting

La méthode de put est probablement la méthode d'E / S la plus courante.

Pour imprimer quelque chose à l'écran, simplement:

my_var = 100
met my_var

La commande putts imprimera la valeur stockée dans la variable référencée et ajoutera une nouvelle ligne à la fin.

Imprimer

La méthode d'impression est similaire aux put, mais elle n'ajoute pas une nouvelle ligne traînante. Il laisse le curseur dans la même ligne.

Imprimez "Hello World!"

Putc

Une autre méthode d'E / S de base commune est la méthode PutC. Il fonctionne de manière similaire à la méthode de put et d'impression, mais il imprime un personnage à la fois.

Par exemple:

my_var = "Hello World!"
putc my_var

Ce qui précède devrait imprimer le personnage 'H.'

Se faire

La méthode GET.

Met "Entrez votre âge:"
L'âge = obtient
met "vous avez # âge ans"

Fichier d'E / S

Bien que comprendre comment travailler avec la norme dans et l'extérieur soit utile, il peut être très limitant lorsque vous avez besoin de données persistantes.

Dans un tel cas, nous pouvons utiliser l'entrée et la sortie du fichier pour lire et écrire dans les fichiers.

Déposer.Nouveau()

La première méthode utile lorsque vous travaillez avec des fichiers est la nouvelle méthode. Cela crée un nouvel objet de fichier avec le nom de fichier spécifié et le mode.

La syntaxe générale est:

F = fichier.nouveau («nom de fichier», «mode»)

Le nom de fichier peut être n'importe quel nom et extension.

Ruby prend en charge divers modes de fichiers. Ceux-ci inclus:

  1. r - Mode en lecture seule
  2. w - Mode d'écriture uniquement
  3. r+ - Mode lecture-écriture
  4. w+ Mode lecture-écriture
  5. un - Écrivez le mode et ajoutez de nouvelles données si le fichier existe; Sinon, créez un fichier et ajoutez les données.
  6. un+ - Identique à «A» mais utilise le mode en lecture-écriture.

Par exemple, pour créer un nouveau fichier qui n'existe pas:

F = fichier.Nouveau nouveau.txt "," a + ")
F.Syswrite ("J'ai été récemment créé")
F.fermer()

Dans l'exemple ci-dessus, nous créons un nouvel objet de fichier avec le nom nouveau.TXT et le mode lecture-écriture. Puisque le fichier n'existe pas, il est automatiquement créé.

Dans la ligne suivante, nous écrivons dans le fichier à l'aide de la méthode Syswrite et, enfin, fermons le fichier.

$ Cat New.SMS
J'ai été récemment créé

Déposer.Ouvrir()

Vous pouvez utiliser la méthode ouverte pour ouvrir un fichier. Une fois que vous avez ouvert un fichier, vous pouvez lire ou y écrire.

Par exemple:

F = fichier.ouvert ("Nouveau.SMS")
Contenu = F.lire
met le contenu

Dans l'exemple ci-dessus, nous utilisons la méthode ouverte pour ouvrir un fichier existant dans le répertoire de travail actuel.

Une fois ouvert, nous pouvons lire le contenu du fichier.

Notez que nous ne spécifions pas le mode lors de l'ouverture du fichier pour la lecture car il est défini pour lire lorsqu'il est non spécifié.

Pour écrire dans un fichier, vous devez spécifier le mode en tant qu'écriture ou lecture-écriture comme indiqué dans l'exemple ci-dessous:

F = fichier.ouvert ("Nouveau.txt "," r + ")
F.écrire ("c'est une autre ligne")
F.fermer()

Dans l'exemple ci-dessus, nous spécifions le mode en lecture-écriture que nous écrivons dans le fichier.

Déposer.Renommer()

En plus de lire et d'écrire dans un fichier, Ruby vous permet d'effectuer d'autres opérations, notamment le renommer le fichier en utilisant la méthode de renommée.

Exemple:

F = fichier.Renommer ("Nouveau.txt "," renommé.SMS")

La méthode ci-dessus devrait renommer le nouveau.Fichier TXT à renommé.SMS.

Déposer.Supprimer()

Pour supprimer un fichier, vous pouvez utiliser la méthode de suppression et spécifier le nom de fichier comme argument. Par exemple:

met "# fichier.supprimer ("renommé.txt ") supprimé!"

Déposer.dirname ()

La méthode dirname vous permet d'obtenir le chemin du fichier sans inclure le nom de fichier.

Par exemple:

F = fichier.dirname ("/ var / log / lastlog")
met f

Cela devrait afficher le chemin complet vers le répertoire où se trouve le fichier.

# Ruby Fileio.RB
/ var / log

Déposer.existant?

Pour vérifier si un fichier existe, utilisez le fichier.existant? méthode. Il renvoie un booléen vrai si la valeur existe et false si autrement.

met le fichier.existant?("/ etc / passwd")
vrai

E / S répertoire

Si vous souhaitez travailler avec des répertoires dans Ruby, vous pouvez utiliser la classe DIR qui contient des méthodes pour de telles opérations.

Ils comprennent:

  1. pwd () - Renvoie le répertoire de travail actuel
  2. vide?(«/ Dirpath») - Vérifie si un répertoire est vide
  3. Mkdir («/ dirpath») - Crée un répertoire avec le nom spécifié.
  4. supprimer («/ dirpath») - Supprime le répertoire spécifié
  5. chdir («/ dirpath») - Naviguer vers le chemin du répertoire spécifié
  6. Entrées («/ dirpath») - Répertorie tous les fichiers du répertoire.

Conclusion

Ce tutoriel vous a montré comment utiliser diverses opérations d'entrée / sortie de rubis. Il est bon de noter qu'il existe d'autres opérations que vous pouvez effectuer au-delà de celles discutées dans ce tutoriel. Considérez la documentation du fichier et de la classe pour en savoir plus.