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, cherryIsso é 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, completedPara 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, 5Você também pode usar o operador splat * dentro de colchetes de array:
countdown = [*5..10]
puts countdown # Saídas: 5, 6, 7, 8, 9, 10Estes 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.
Desafio
FácilLeia duas entradas:
- Uma única linha de palavras separadas por espaços (ex:
red green blue yellow) - Dois números inteiros separados por uma vírgula representando um intervalo (ex:
3,7)
Realize as seguintes tarefas:
- Crie um array de strings a partir da primeira entrada usando a sintaxe de atalho
split. Como a entrada já é uma string, você precisará usarsplitpara convertê-la em um array primeiro, depois demonstre%wcriando um array separado com as palavrasalpha,beta,gamma. - Crie um array de símbolos usando
%icom os valoresstart,middle,end. - 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:
- Cada elemento do array de palavras de entrada
- Uma linha em branco
- Cada elemento do array
%w(alpha, beta, gamma) - Uma linha em branco
- Cada elemento do array de símbolos
%i - Uma linha em branco
- 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
5Se 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
13Folha 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 arraysEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoO Método FizzBuzz2Variáveis e Tipos de Dados
Números e VariáveisTipo de Dado StringTipo de Dado BooleanTipo de Dado SymbolVerificando Tipos de DadosConvenções de NomenclaturaRecapitulação - Criação de Variáveis5Tomada de Decisão
Instrução IfIf - ElseRecapitulação - Calculadora SimplesIf - Else AninhadoInstrução Unless8Laços de Repetição
Loop For com IntervalosLoop WhileBreakNextRecapitulação - FatorialLoop TimesLoop UntilLoops AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com putsSaída com print e pSaída com VariáveisEntrada com getsMétodo chompConversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Métodos
Definindo um MétodoParâmetros de MétodoValores de RetornoRecapitulação - Método SigmaRecapitulação - Método de ValidaçãoValores de Parâmetro Padrão15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa