Menu
Coddy logo textTech

Atalhos de Array

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

O Ruby oferece atalhos convenientes para criar arrays, especialmente ao trabalhar com strings ou números sequenciais. Esses atalhos economizam tempo e tornam seu código mais limpo.

A sintaxe %w cria um array de strings sem a necessidade de aspas ou vírgulas:

fruits = %w[apple banana cherry]
puts fruits  # Saída: apple, banana, cherry

Isso é equivalente a escrever ["apple", "banana", "cherry"] mas muito mais conciso. Cada palavra separada por um espaço torna-se um elemento separado.

Para arrays de símbolos, use %i:

statuses = %i[pending active completed]
puts statuses  # Saída: pending, active, completed

Para criar arrays de números sequenciais, você pode converter um intervalo (range) para um array usando to_a:

numbers = (1..5).to_a
puts numbers  # Saída: 1, 2, 3, 4, 5

Você também pode usar o operador splat * dentro de colchetes de array:

countdown = [*5..10]
puts countdown  # Saídas: 5, 6, 7, 8, 9, 10

Estes atalhos são particularmente úteis quando você precisa definir rapidamente uma lista de valores conhecidos sem a poluição visual de aspas e vírgulas.

challenge icon

Desafio

Fácil

Leia duas entradas:

  1. Uma única linha de palavras separadas por espaços (ex: red green blue yellow)
  2. Dois números inteiros separados por uma vírgula representando um intervalo (ex: 3,7)

Realize as seguintes tarefas:

  1. Crie um array de strings a partir da primeira entrada usando a sintaxe de atalho split. Como a entrada já é uma string, você precisará usar split para convertê-la em um array primeiro, depois demonstre %w criando um array separado com as palavras alpha, beta, gamma.
  2. Crie um array de símbolos usando %i com os valores start, middle, end.
  3. Crie um array de números sequenciais a partir do intervalo fornecido na segunda entrada usando o operador splat * dentro de colchetes de array.

Imprima o seguinte em linhas separadas:

  1. Cada elemento do array de palavras de entrada
  2. Uma linha em branco
  3. Cada elemento do array %w (alpha, beta, gamma)
  4. Uma linha em branco
  5. Cada elemento do array de símbolos %i
  6. Uma linha em branco
  7. Cada elemento do array de intervalo numérico

Por exemplo, se as entradas forem red green blue e 1,5, a saída deve ser:

red
green
blue

alpha
beta
gamma

start
middle
end

1
2
3
4
5

Se as entradas forem sun moon star e 10,13, a saída deve ser:

sun
moon
star

alpha
beta
gamma

start
middle
end

10
11
12
13

Folha de consulta

Ruby oferece atalhos para criar arrays que tornam o código mais limpo e conciso.

A sintaxe %w cria um array de strings sem aspas ou vírgulas:

fruits = %w[apple banana cherry]
# Equivalente a ["apple", "banana", "cherry"]

A sintaxe %i cria um array de símbolos:

statuses = %i[pending active completed]
# Equivalente a [:pending, :active, :completed]

Converta um intervalo para um array usando to_a:

numbers = (1..5).to_a
# Cria [1, 2, 3, 4, 5]

Use o operador splat * dentro de colchetes de array para criar arrays a partir de intervalos:

countdown = [*5..10]
# Cria [5, 6, 7, 8, 9, 10]

Experimente você mesmo

# Leia as palavras separadas por espaço
words_input = gets.chomp

# Leia o intervalo (dois inteiros separados por vírgula)
range_input = gets.chomp

# TODO: Escreva seu código abaixo
# 1. Crie um array a partir de words_input usando split
# 2. Crie um array %w com alpha, beta, gamma
# 3. Crie um array %i com start, middle, end
# 4. Analise o intervalo e crie um array usando o operador splat (*)

# Exiba os elementos de cada array em linhas separadas com linhas em branco entre os arrays
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