Menu
Coddy logo textTech

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: 8

Observe 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: 20

A 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: 12
challenge icon

Desafio

Fácil

Defina 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:

25

Se as entradas forem 5 e 2, a saída deve ser:

29

Folha 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: 8

Você 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: 20

Valores de retorno permitem que você encadeie chamadas de métodos:

def double(n)
  n * 2
end

puts double(double(3))  # Saída: 12

Experimente 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 resultado
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