2009-09-12 9 views
1

En utilisant Ruby, je lis un fichier ligne par ligne, en utilisant IO.gets pour lire par incréments la ligne suivante du fichier. Dans certaines circonstances, je veux faire le contraire (regardez la ligne précédente en décrémentant). La façon dont j'ai essayé d'y arriver était ...Lecture de la ligne de fichier précédente avec Ruby

IO.lineno = int 
IO.gets 

Il semble que peu importe ce que je mets « lineno » à l'égaler encore lit juste la ligne suivante lorsque je suis en appelant « obtient ». Comment devrais-je lire les lignes précédentes du fichier?

+0

copie exacte de http://stackoverflow.com/questions/1415254/reading-previous-line-of-file-with-ruby –

Répondre

2

Vous devez utiliser

IO.readlines (« myfile »)

Cela renvoie le fichier comme un tableau de chaînes, puis itérer avec indizies. Avec un flux, il n'y a aucun moyen de revenir en arrière d'une ligne.

Questions connexes