Métodos de Array
Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 61 de 88.
Ruby fornece vários métodos integrados que facilitam o trabalho com arrays. Esses métodos ajudam você a ordenar, inverter e encontrar elementos sem precisar escrever códigos complexos por conta própria.
O método sort organiza os elementos em ordem crescente:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Saída: 1, 1, 3, 4, 5Para inverter a ordem dos elementos, use o método reverse:
letters = ["a", "b", "c"]
puts letters.reverse # Saída: c, b, aVocê pode combinar esses métodos para ordenar em ordem decrescente:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Outputs: 95, 92, 85, 78Os métodos min e max encontram rapidamente os menores e maiores valores:
prices = [29, 15, 42, 8]
puts prices.min # Saída: 8
puts prices.max # Saída: 42Para calcular o total de elementos numéricos, use sum:
quantities = [2, 5, 3]
puts quantities.sum # Saída: 10Observe que sort e reverse retornam novos arrays sem alterar o original. Para modificar o array original diretamente, adicione ! ao nome do método, como sort! ou reverse!.
Desafio
FácilLeia uma única linha de entrada contendo números inteiros separados por vírgulas (ex: 5,2,8,1,9,3).
Divida a entrada em um array de inteiros e, em seguida, imprima o seguinte em linhas separadas:
- O array ordenado em ordem crescente (cada elemento em sua própria linha)
- O array ordenado em ordem decrescente (cada elemento em sua própria linha)
- O valor mínimo
- O valor máximo
- A soma de todos os elementos
Imprima uma linha em branco entre cada seção para maior clareza.
Por exemplo, se a entrada for 5,2,8,1,9,3, a saída deve ser:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Se a entrada for 10,30,20, a saída deve ser:
10
20
30
30
20
10
10
30
60Se a entrada for 7,3,5,1, a saída deve ser:
1
3
5
7
7
5
3
1
1
7
16Folha de consulta
Ruby fornece métodos integrados para trabalhar com arrays:
O método sort organiza os elementos em ordem crescente:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Saída: 1, 1, 3, 4, 5O método reverse inverte a ordem dos elementos:
letters = ["a", "b", "c"]
puts letters.reverse # Saída: c, b, aCombine métodos para ordenar em ordem decrescente:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Saída: 95, 92, 85, 78Os métodos min e max encontram os valores menor e maior:
prices = [29, 15, 42, 8]
puts prices.min # Saída: 8
puts prices.max # Saída: 42O método sum calcula o total de elementos numéricos:
quantities = [2, 5, 3]
puts quantities.sum # Saída: 10Nota: sort e reverse retornam novos arrays sem alterar o original. Para modificar o array original, use sort! ou reverse!.
Experimente você mesmo
# Read the comma-separated integers
input = gets.chomp
# TODO: Escreva seu código abaixo
# 1. Divida a entrada em um array de inteiros
# 2. Ordene o array em ordem crescente e imprima cada elemento
# 3. Imprima uma linha em branco
# 4. Ordene o array em ordem decrescente e imprima cada elemento
# 5. Imprima uma linha em branco
# 6. Imprima o valor mínimo
# 7. Imprima o valor máximo
# 8. Imprima a soma de todos os elementosEsta 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