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:
- Apertura y Cierre de Archivos
- Lectura de Archivos
- Escritura en Archivos
- Modos de Apertura de Archivos
- Manejo de Errores
- Ejercicios Prácticos
- 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.closeEs importante cerrar el archivo después de terminar de trabajar con él para liberar los recursos del sistema.
- 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
Leer el Archivo Línea por Línea
Usar el Bloque File.open
Ruby también permite abrir un archivo y asegurarse de que se cierre automáticamente usando un bloque:
- Escritura en Archivos
Para escribir en un archivo, debemos abrirlo en modo escritura. Aquí hay algunos ejemplos:
Escribir Texto en un Archivo
Añadir Texto a un Archivo
- 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. |
- 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
- Ejercicios Prácticos
Ejercicio 1: Leer un Archivo y Contar las Líneas
Instrucciones:
- Crea un archivo de texto llamado
lines.txtcon varias líneas de texto. - 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:
- Pide al usuario que ingrese su nombre y edad.
- 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!
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad
