Ruby:
Lettura di un file di testo
How to:
Per leggere un file di testo in Ruby, possiamo usare vari metodi. Qui sotto due esempi:
# Lettura completa del file
contenuto = File.read('esempio.txt')
puts contenuto
# Lettura linea per linea
File.foreach('esempio.txt') do |linea|
puts linea
end
Se esempio.txt
contiene:
Ciao, mondo!
Benvenuti nel file di esempio.
L’output sarà:
Ciao, mondo!
Benvenuti nel file di esempio.
Ciao, mondo!
Benvenuti nel file di esempio.
Deep Dive
La lettura di file in Ruby è supportata da una serie di metodi introdotti con le prime versioni del linguaggio. Inizialmente, l’accesso ai file era semplice, ma si è evoluto per offrire una maggiore flessibilità e controllo errori.
Alternative:
IO.readlines
per ottenere un array delle righe del file.File.open
con un blocco per manipolare il file e chiuderlo automaticamente.
Dettagli implementativi:
File.read
carica l’intero contenuto del file in memoria potrebbe non essere ideale per file grandi.File.foreach
legge una linea alla volta, riducendo l’utilizzo della memoria.
Si noti che la lettura di file potrebbe generare eccezioni, come Errno::ENOENT
quando il file non esiste, quindi è consigliabile gestirle con un blocco begin-rescue
.
See Also
Per approfondire, ecco alcune risorse utili (in inglese):
- Ruby API Documentation: File
- ZetCode’s Ruby Input & Output Tutorial: Ruby I/O
- Stack Overflow: Read a file in Ruby