En este tema, aprenderemos cómo manejar archivos en Ruby. La entrada/salida de archivos (File I/O) es una habilidad esencial para cualquier programador, ya que permite leer datos de archivos y escribir datos en ellos. Vamos a cubrir los siguientes puntos:

  1. Apertura y Cierre de Archivos
  2. Lectura de Archivos
  3. Escritura en Archivos
  4. Modos de Apertura de Archivos
  5. Manejo de Errores
  6. Ejercicios Prácticos

  1. Apertura y Cierre de Archivos

Para trabajar con archivos en Ruby, primero debemos abrirlos. Ruby proporciona la clase File para este propósito. Aquí hay un ejemplo básico de cómo abrir y cerrar un archivo:

# Abrir un archivo en modo lectura
file = File.open("example.txt", "r")

# Realizar operaciones con el archivo

# Cerrar el archivo
file.close

Es importante cerrar el archivo después de terminar de trabajar con él para liberar los recursos del sistema.

  1. Lectura de Archivos

Ruby ofrece varios métodos para leer archivos. Aquí hay algunos de los más comunes:

Leer Todo el Contenido del Archivo

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

Leer el Archivo Línea por Línea

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

Usar el Bloque File.open

Ruby también permite abrir un archivo y asegurarse de que se cierre automáticamente usando un bloque:

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

  1. Escritura en Archivos

Para escribir en un archivo, debemos abrirlo en modo escritura. Aquí hay algunos ejemplos:

Escribir Texto en un Archivo

File.open("example.txt", "w") do |file|
  file.write("Hola, mundo!")
end

Añadir Texto a un Archivo

File.open("example.txt", "a") do |file|
  file.write("\nAñadiendo una nueva línea.")
end

  1. Modos de Apertura de Archivos

Ruby soporta varios modos de apertura de archivos:

Modo Descripción
"r" Lectura (por defecto). El archivo debe existir.
"w" Escritura. Crea un archivo nuevo o sobrescribe uno existente.
"a" Añadir. Abre el archivo para añadir datos al final.
"r+" Lectura y escritura. El archivo debe existir.
"w+" Lectura y escritura. Crea un archivo nuevo o sobrescribe uno existente.
"a+" Lectura y añadir. Abre el archivo para añadir datos al final.

  1. Manejo de Errores

Es importante manejar posibles errores al trabajar con archivos. Ruby proporciona excepciones para esto:

begin
  file = File.open("example.txt", "r")
  # Operaciones con el archivo
rescue Errno::ENOENT
  puts "El archivo no existe."
rescue IOError
  puts "Ocurrió un error de entrada/salida."
ensure
  file.close if file
end

  1. Ejercicios Prácticos

Ejercicio 1: Leer un Archivo y Contar las Líneas

Instrucciones:

  1. Crea un archivo de texto llamado lines.txt con varias líneas de texto.
  2. Escribe un programa en Ruby que lea el archivo y cuente el número de líneas.

Solución:

line_count = 0

File.open("lines.txt", "r") do |file|
  file.each_line do |line|
    line_count += 1
  end
end

puts "El archivo tiene #{line_count} líneas."

Ejercicio 2: Escribir un Archivo con Datos de Usuario

Instrucciones:

  1. Pide al usuario que ingrese su nombre y edad.
  2. Escribe estos datos en un archivo llamado user_data.txt.

Solución:

puts "Ingrese su nombre:"
name = gets.chomp

puts "Ingrese su edad:"
age = gets.chomp

File.open("user_data.txt", "w") do |file|
  file.puts "Nombre: #{name}"
  file.puts "Edad: #{age}"
end

puts "Datos guardados en user_data.txt."

Conclusión

En esta sección, hemos aprendido cómo manejar archivos en Ruby, incluyendo cómo abrir, leer, escribir y cerrar archivos. También hemos visto cómo manejar errores comunes y hemos practicado con algunos ejercicios. La capacidad de trabajar con archivos es fundamental para muchas aplicaciones, y dominar estos conceptos te permitirá crear programas más robustos y útiles.

En el próximo tema, exploraremos las Expresiones Regulares en Ruby, una herramienta poderosa para trabajar con texto y patrones. ¡Sigue adelante!

© Copyright 2024. Todos los derechos reservados