Valores de Retorno
Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 50 de 88.
Até agora, nossos métodos realizaram ações como imprimir a saída. Mas os métodos tornam-se verdadeiramente poderosos quando podem enviar dados de volta para o código que os chamou. É para isso que servem os valores de retorno.
Em Ruby, um método retorna automaticamente o valor de sua última expressão:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # Saída: 8Observe que não há puts dentro do método. Em vez disso, o método calcula a + b e retorna esse valor. Podemos então armazená-lo em uma variável ou usá-lo diretamente.
Você também pode usar a palavra-chave return explicitamente:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # Saída: 20A palavra-chave return encerra imediatamente o método e retorna o valor especificado. Isso é útil quando você deseja sair antecipadamente com base em uma condição. Ambas as abordagens funcionam, mas programadores Ruby frequentemente dependem de retornos implícitos para um código mais limpo.
Valores de retorno permitem que você encadeie operações e construa uma lógica complexa a partir de métodos simples:
def double(n)
n * 2
end
puts double(double(3)) # Saída: 12Desafio
FácilDefina um método chamado square que recebe um parâmetro n e retorna o quadrado desse número (o número multiplicado por ele mesmo).
Leia dois números inteiros da entrada. Use o método square para calcular o quadrado de cada número e, em seguida, imprima a soma de ambos os quadrados.
Por exemplo, se as entradas forem 3 e 4:
- O quadrado de 3 é 9
- O quadrado de 4 é 16
- A soma é 25
A saída deve ser:
25Se as entradas forem 5 e 2, a saída deve ser:
29Folha de consulta
Métodos podem retornar valores para o código que os chamou. Em Ruby, um método retorna automaticamente o valor de sua última expressão:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # Saída: 8Você também pode usar a palavra-chave return explicitamente para sair do método e retornar um valor:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # Saída: 20Valores de retorno permitem que você encadeie chamadas de métodos:
def double(n)
n * 2
end
puts double(double(3)) # Saída: 12Experimente você mesmo
# Lê dois números inteiros da entrada
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i
# TODO: Defina o método square abaixo
# TODO: Calcule a soma dos quadrados usando o método square e imprima o resultadoEsta 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