Menu
Coddy logo textTech

Operadores de Array

Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 71 de 88.

O Ruby fornece operadores especiais que permitem combinar, comparar e manipular arrays de maneiras poderosas. Esses operadores facilitam o trabalho com múltiplos arrays ao mesmo tempo.

O operador + concatena dois arrays em um novo:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b

puts combined  # Saída: 1, 2, 3, 4, 5, 6

O operador - remove elementos do primeiro array que aparecem no segundo:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove

puts result  # Saída: 1, 3, 5

O operador & retorna elementos comuns a ambos os arrays (interseção):

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b

puts common  # Saída: 3, 4

O operador | combina arrays e remove duplicatas (união):

a = [1, 2, 3]
b = [3, 4, 5]
union = a | b

puts union  # Saída: 1, 2, 3, 4, 5

Todos esses operadores criam novos arrays e deixam os arrays originais inalterados.

challenge icon

Desafio

Fácil

Leia duas linhas de entrada, cada uma contendo inteiros separados por vírgula:

  1. O primeiro array (ex: 1,2,3,4,5)
  2. O segundo array (ex: 3,4,5,6,7)

Realize as seguintes operações e imprima os resultados, cada um em sua própria linha:

  1. Imprima cada elemento da concatenação de ambos os arrays (usando +)
  2. Imprima --- como um separador
  3. Imprima cada elemento da diferença (primeiro array menos o segundo, usando -)
  4. Imprima --- como um separador
  5. Imprima cada elemento da interseção (elementos comuns, usando &)
  6. Imprima --- como um separador
  7. Imprima cada elemento da união (combinados sem duplicatas, usando |)

Por exemplo, se as entradas forem 1,2,3,4,5 e 3,4,5,6,7, a saída deve ser:

1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7

Se as entradas forem 10,20,30 e 30,40,50, a saída deve ser:

10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50

Se as entradas forem 5,10,15 e 1,2,3, a saída deve ser:

5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3

Folha de consulta

Ruby fornece operadores especiais para combinar, comparar e manipular arrays:

O operador + concatena dois arrays:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b  # [1, 2, 3, 4, 5, 6]

O operador - remove elementos do primeiro array que aparecem no segundo:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove  # [1, 3, 5]

O operador & retorna a interseção (elementos comuns):

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b  # [3, 4]

O operador | retorna a união (combinados sem duplicatas):

a = [1, 2, 3]
b = [3, 4, 5]
union = a | b  # [1, 2, 3, 4, 5]

Todos esses operadores criam novos arrays e deixam os arrays originais inalterados.

Experimente você mesmo

# Ler os arrays de entrada
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)

# TODO: Escreva seu código abaixo
# Realize as seguintes operações:
# 1. Concatenação usando +
# 2. Diferença usando -
# 3. Interseção usando &
# 4. União usando |
# Imprima cada resultado com "---" como separador entre as operações
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos