web-dev-qa-db-fra.com

Comment lire un fichier entier en Ruby?

Existe-t-il une fonction intégrée dans Ruby pour lire le fichier entier sans utiliser de boucle? Jusqu'à présent, je n'ai rencontré que des méthodes qui lisent en morceaux (ligne ou caractère).

62
Shubham
IO.read("filename")

ou

File.read("filename")
91
sluukkonen
File.readlines("filename")

C'est également une excellente méthode pour tout lire à partir d'un fichier et rompre le fractionnement lors des retours chariot. Le retour est un tableau avec une ligne par élément.

18
Nick

Veuillez ignorer les conseils qui disent "Vous ne devriez jamais slurp (qui est le terme ennuyeux pour cela) un fichier". Parfois, c'est une chose très utile et sensée à faire.

Supposons que vous lisez un fichier à plusieurs reprises: il y a de fortes chances que la lecture du fichier dans un tableau soit une optimisation judicieuse par rapport à la lecture du fichier ligne par ligne, même en tenant compte du fait que l'o/s mettra le fichier en cache.

6
Graham Nicholls