En aquest tema, aprendrem com gestionar fitxers en Ruby. La manipulació de fitxers és una habilitat essencial per a qualsevol programador, ja que permet llegir dades d'arxius externs, escriure resultats a fitxers i molt més. A continuació, desglossarem els conceptes clau i proporcionarem exemples pràctics per ajudar-te a comprendre com treballar amb fitxers en Ruby.

Conceptes Clau

  1. Obrir un Fitxer: Utilitzar el mètode File.open per obrir un fitxer.
  2. Llegir un Fitxer: Utilitzar mètodes com read, readlines i each_line per llegir el contingut d'un fitxer.
  3. Escriure en un Fitxer: Utilitzar mètodes com write i puts per escriure dades en un fitxer.
  4. Tancar un Fitxer: Assegurar-se de tancar el fitxer després d'haver acabat de treballar amb ell.
  5. Modes d'Accés: Comprendre els diferents modes d'accés (r, w, a, etc.) per obrir fitxers.

Obrir un Fitxer

Per obrir un fitxer en Ruby, utilitzem el mètode File.open. Aquest mètode accepta dos arguments: el nom del fitxer i el mode d'accés.

file = File.open("example.txt", "r")

Modes d'Accés

Mode Descripció
r Llegeix el fitxer. El fitxer ha d'existir.
w Escriu en el fitxer. Si el fitxer existeix, es sobreescriu. Si no existeix, es crea.
a Afegeix al fitxer. Si el fitxer no existeix, es crea.
r+ Llegeix i escriu en el fitxer. El fitxer ha d'existir.
w+ Llegeix i escriu en el fitxer. Si el fitxer existeix, es sobreescriu. Si no existeix, es crea.
a+ Llegeix i afegeix al fitxer. Si el fitxer no existeix, es crea.

Llegir un Fitxer

Mètode read

El mètode read llegeix tot el contingut del fitxer com una cadena.

file = File.open("example.txt", "r")
content = file.read
puts content
file.close

Mètode readlines

El mètode readlines llegeix tot el contingut del fitxer i retorna un array on cada element és una línia del fitxer.

file = File.open("example.txt", "r")
lines = file.readlines
lines.each { |line| puts line }
file.close

Mètode each_line

El mètode each_line llegeix el fitxer línia per línia, permetent processar cada línia individualment.

File.open("example.txt", "r") do |file|
  file.each_line do |line|
    puts line
  end
end

Escriure en un Fitxer

Mètode write

El mètode write escriu una cadena en el fitxer.

File.open("example.txt", "w") do |file|
  file.write("Això és una línia de text.\n")
end

Mètode puts

El mètode puts escriu una cadena en el fitxer, afegint un salt de línia al final.

File.open("example.txt", "w") do |file|
  file.puts("Això és una línia de text.")
end

Tancar un Fitxer

És important tancar el fitxer després d'haver acabat de treballar amb ell per alliberar els recursos del sistema.

file = File.open("example.txt", "r")
# ... treballar amb el fitxer ...
file.close

Alternativament, podem utilitzar un bloc do...end amb File.open, que automàticament tanca el fitxer al final del bloc.

File.open("example.txt", "r") do |file|
  # ... treballar amb el fitxer ...
end

Exercicis Pràctics

Exercici 1: Llegir un Fitxer

Crea un fitxer anomenat sample.txt amb el següent contingut:

Hola, món!
Això és un fitxer de prova.
Ruby és genial!

Escriu un programa en Ruby que llegeixi i imprimeixi el contingut del fitxer.

Solució

File.open("sample.txt", "r") do |file|
  file.each_line do |line|
    puts line
  end
end

Exercici 2: Escriure en un Fitxer

Escriu un programa en Ruby que escrigui les següents línies en un fitxer anomenat output.txt:

Línia 1: Hola, món!
Línia 2: Això és un fitxer de sortida.
Línia 3: Ruby és genial!

Solució

File.open("output.txt", "w") do |file|
  file.puts("Línia 1: Hola, món!")
  file.puts("Línia 2: Això és un fitxer de sortida.")
  file.puts("Línia 3: Ruby és genial!")
end

Resum

En aquesta secció, hem après com obrir, llegir, escriure i tancar fitxers en Ruby. També hem explorat els diferents modes d'accés per treballar amb fitxers. Aquests conceptes són fonamentals per a la manipulació de dades en aplicacions del món real. En la següent secció, explorarem les expressions regulars en Ruby.

© Copyright 2024. Tots els drets reservats