Ruby Fundamentals

Dominando a Fusão de Arrays em Ruby

Spread the love

Ruby oferece diversas maneiras de combinar arrays, cada uma com suas próprias características. Este guia explora os métodos mais comuns e eficientes, fornecendo exemplos para ilustrar seu comportamento.

Sumário

  1. Mesclando Arrays com concat
  2. Mesclando Arrays com o Operador +
  3. Mesclando Arrays com push e o Operador Splat
  4. Mesclando Arrays com append
  5. Mesclando Arrays com union
  6. Mesclando Arrays com o Operador |
  7. Conclusão

1. Mesclando Arrays com concat

O método concat modifica o array original adicionando os elementos de outro array ao seu final. É uma operação in-place, alterando diretamente o array em que é chamado.


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

array1.concat(array2)
puts array1  # Saída: [1, 2, 3, 4, 5, 6]
puts array2  # Saída: [4, 5, 6] (array2 permanece inalterado)

2. Mesclando Arrays com o Operador +

O operador + cria um array novo contendo todos os elementos de ambos os arrays. Os arrays originais permanecem inalterados.


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

merged_array = array1 + array2
puts merged_array  # Saída: [1, 2, 3, 4, 5, 6]
puts array1  # Saída: [1, 2, 3] (array1 permanece inalterado)
puts array2  # Saída: [4, 5, 6] (array2 permanece inalterado)

3. Mesclando Arrays com push e o Operador Splat

O método push adiciona elementos ao final de um array. O operador splat (*) desempacota outro array, permitindo que você adicione todos os seus elementos de uma vez. Assim como concat, isso modifica o array original.


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

array1.push(*array2)
puts array1  # Saída: [1, 2, 3, 4, 5, 6]
puts array2  # Saída: [4, 5, 6] (array2 permanece inalterado)

4. Mesclando Arrays com append

O método append é sinônimo de push; eles funcionam de forma idêntica.


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

array1.append(*array2)
puts array1  # Saída: [1, 2, 3, 4, 5, 6]
puts array2  # Saída: [4, 5, 6] (array2 permanece inalterado)

5. Mesclando Arrays com union

O método union (ou seu alias, o operador |) retorna um array novo contendo apenas os elementos únicos de ambos os arrays de entrada. Elementos duplicados são eliminados.


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

merged_array = array1.union(array2)
puts merged_array  # Saída: [1, 2, 3, 4, 5]
puts array1  # Saída: [1, 2, 3, 3] (array1 permanece inalterado)
puts array2  # Saída: [3, 4, 5] (array2 permanece inalterado)

6. Mesclando Arrays com o Operador |

Esta é uma forma abreviada do método union, produzindo o mesmo resultado.


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

merged_array = array1 | array2
puts merged_array  # Saída: [1, 2, 3, 4, 5]
puts array1  # Saída: [1, 2, 3, 3] (array1 permanece inalterado)
puts array2  # Saída: [3, 4, 5] (array2 permanece inalterado)

7. Conclusão

Ruby fornece diversos métodos para mesclar arrays, permitindo que você selecione a abordagem ideal com base em suas necessidades específicas. Considere se a modificação in-place ou um novo array é necessário e se os elementos duplicados devem ser preservados. Para criar novos arrays, o operador + e o método union geralmente oferecem melhor legibilidade. concat e push são eficientes para modificar arrays diretamente. Entender essas nuances garante a escrita de código Ruby claro e eficiente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *