Ruby Fundamentals

Dominando la Fusión de Arreglos en Ruby

Spread the love

Ruby ofrece varias maneras de combinar arreglos, cada una con sus propias características. Esta guía explora los métodos más comunes y eficientes, proporcionando ejemplos para ilustrar su comportamiento.

Tabla de Contenidos

  1. Fusionar Arreglos con concat
  2. Fusionar Arreglos con el Operador +
  3. Fusionar Arreglos con push y el Operador Splat
  4. Fusionar Arreglos con append
  5. Fusionar Arreglos con union
  6. Fusionar Arreglos con el Operador |
  7. Conclusión

1. Fusionar Arreglos con concat

El método concat modifica el arreglo original añadiendo los elementos de otro arreglo a su final. Es una operación in situ, alterando directamente el arreglo al que se llama.


array1 = [1, 2, 3]
array2 = [4, 5, 6]

array1.concat(array2)
puts array1  # Salida: [1, 2, 3, 4, 5, 6]
puts array2  # Salida: [4, 5, 6] (array2 permanece sin cambios)

2. Fusionar Arreglos con el Operador +

El operador + crea un arreglo nuevo que contiene todos los elementos de ambos arreglos. Los arreglos originales permanecen intactos.


array1 = [1, 2, 3]
array2 = [4, 5, 6]

merged_array = array1 + array2
puts merged_array  # Salida: [1, 2, 3, 4, 5, 6]
puts array1  # Salida: [1, 2, 3] (array1 permanece sin cambios)
puts array2  # Salida: [4, 5, 6] (array2 permanece sin cambios)

3. Fusionar Arreglos con push y el Operador Splat

El método push añade elementos al final de un arreglo. El operador splat (*) desempaqueta otro arreglo, permitiendo añadir todos sus elementos a la vez. Esto, al igual que concat, modifica el arreglo original.


array1 = [1, 2, 3]
array2 = [4, 5, 6]

array1.push(*array2)
puts array1  # Salida: [1, 2, 3, 4, 5, 6]
puts array2  # Salida: [4, 5, 6] (array2 permanece sin cambios)

4. Fusionar Arreglos con append

El método append es un sinónimo de push; funcionan de manera idéntica.


array1 = [1, 2, 3]
array2 = [4, 5, 6]

array1.append(*array2)
puts array1  # Salida: [1, 2, 3, 4, 5, 6]
puts array2  # Salida: [4, 5, 6] (array2 permanece sin cambios)

5. Fusionar Arreglos con union

El método union (o su alias, el operador |) devuelve un arreglo nuevo que contiene solo los elementos únicos de ambos arreglos de entrada. Los elementos duplicados son eliminados.


array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]

merged_array = array1.union(array2)
puts merged_array  # Salida: [1, 2, 3, 4, 5]
puts array1  # Salida: [1, 2, 3, 3] (array1 permanece sin cambios)
puts array2  # Salida: [3, 4, 5] (array2 permanece sin cambios)

6. Fusionar Arreglos con el Operador |

Esta es una forma abreviada del método union, produciendo el mismo resultado.


array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]

merged_array = array1 | array2
puts merged_array  # Salida: [1, 2, 3, 4, 5]
puts array1  # Salida: [1, 2, 3, 3] (array1 permanece sin cambios)
puts array2  # Salida: [3, 4, 5] (array2 permanece sin cambios)

7. Conclusión

Ruby proporciona diversos métodos para la fusión de arreglos, permitiendo seleccionar el enfoque óptimo según las necesidades específicas. Considere si se requiere una modificación in situ o un nuevo arreglo y si se deben preservar los elementos duplicados. Para crear nuevos arreglos, el operador + y el método union generalmente ofrecen una mejor legibilidad. concat y push son eficientes para modificar arreglos directamente. Comprender estos matices asegura la escritura de código Ruby claro y eficiente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *