Introducción
Los arrays son una de las estructuras de datos más fundamentales y versátiles en Ruby. Un array es una colección ordenada de elementos, que pueden ser de cualquier tipo de dato, incluyendo otros arrays. En esta lección, aprenderemos cómo crear, manipular y utilizar arrays en Ruby.
Creación de Arrays
Sintaxis Básica
En Ruby, los arrays se pueden crear utilizando corchetes []
y separando los elementos con comas.
# Creación de un array vacío array_vacio = [] # Creación de un array con elementos array_numeros = [1, 2, 3, 4, 5] array_strings = ["uno", "dos", "tres"] array_mixto = [1, "dos", :tres, [4, 5]]
Métodos de Creación
Ruby también proporciona métodos para crear arrays.
# Usando el método Array.new array_vacio = Array.new array_con_tamano = Array.new(3) # [nil, nil, nil] array_con_valor = Array.new(3, "default") # ["default", "default", "default"]
Acceso a Elementos
Índices
Los elementos de un array se pueden acceder utilizando índices. Los índices en Ruby comienzan en 0.
array = [10, 20, 30, 40, 50] # Acceso a elementos puts array[0] # 10 puts array[2] # 30 puts array[-1] # 50 (último elemento)
Rango de Índices
También se pueden acceder a subarrays utilizando rangos.
Modificación de Arrays
Asignación de Valores
Los valores de un array se pueden modificar asignando nuevos valores a los índices específicos.
array = [10, 20, 30, 40, 50] # Modificación de elementos array[1] = 25 puts array # [10, 25, 30, 40, 50]
Métodos de Modificación
Ruby proporciona varios métodos para modificar arrays.
array = [1, 2, 3] # Añadir elementos array.push(4) # [1, 2, 3, 4] array << 5 # [1, 2, 3, 4, 5] # Eliminar elementos array.pop # [1, 2, 3, 4] array.shift # [2, 3, 4] array.delete(3) # [2, 4]
Iteración sobre Arrays
Bucles
Se pueden utilizar bucles para iterar sobre los elementos de un array.
array = [1, 2, 3, 4, 5] # Usando un bucle 'each' array.each do |element| puts element end # Usando un bucle 'for' for element in array puts element end
Métodos de Iteración
Ruby proporciona métodos de iteración más avanzados.
array = [1, 2, 3, 4, 5] # Usando 'map' para transformar elementos squared_array = array.map { |num| num ** 2 } # [1, 4, 9, 16, 25] # Usando 'select' para filtrar elementos even_array = array.select { |num| num.even? } # [2, 4]
Ejercicios Prácticos
Ejercicio 1: Creación y Acceso
- Crea un array con los números del 1 al 10.
- Accede y muestra el tercer elemento del array.
- Accede y muestra los últimos tres elementos del array.
Solución
# Creación del array array = (1..10).to_a # Acceso al tercer elemento puts array[2] # 3 # Acceso a los últimos tres elementos puts array[-3..-1] # [8, 9, 10]
Ejercicio 2: Modificación y Iteración
- Crea un array con los números del 1 al 5.
- Añade el número 6 al final del array.
- Elimina el primer elemento del array.
- Itera sobre el array y muestra cada elemento multiplicado por 2.
Solución
# Creación del array array = [1, 2, 3, 4, 5] # Añadir el número 6 array << 6 # Eliminar el primer elemento array.shift # Iterar y mostrar cada elemento multiplicado por 2 array.each do |num| puts num * 2 end
Conclusión
En esta lección, hemos aprendido cómo crear, acceder, modificar e iterar sobre arrays en Ruby. Los arrays son una herramienta poderosa y flexible que se utilizará frecuentemente en tus programas. Asegúrate de practicar estos conceptos para dominarlos antes de avanzar a las siguientes lecciones sobre colecciones en Ruby.
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