Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida - Retorno de Função - sorteado

Olá! Estou com problemas para entender como trocando "numero_secreto" para "sorteado" o código entende que tem o mesmo valor.

Código Antes: Numero_secreto

def sorteia_numero_secreto
    puts "Escolhendo um número secreto entre 0 e 200..."
    numero_secreto = 175
    puts "Escolhido... que tal adivinhar hoje nosso número secreto?"
    return numero_secreto
end

da_boas_vindas
numero_secreto = sorteia_numero_secreto

Código Depois: sorteado

def sorteia_numero_secreto
    puts "Escolhendo um número secreto entre 0 e 200..."
    sorteado = 175
    puts "Escolhido... que tal adivinhar hoje nosso número secreto?"
    return sorteado
end

da_boas_vindas
numero_secreto = sorteia_numero_secreto

Quer dizer, (acho que) entendi que "numero_secreto" dentro da Função é diferente de fora dela.Mas, como o programa sabe que vai retornar o valor de "sorteado" para "Numero_secreto"??? Tipo, as variáveis são diferentes, mas tem o mesmo valor...? Como?

2 respostas
solução!

Oi bruna, tudo bem? É quase isso. Acontece que a variável sorteado só existe dentro do método sorteia_numero_secreto, ela guarda o número sorteado e depois retorna esse valor ao fim.

Este retorno é atribuído a variável numero_secreto que passa a saber qual foi o valor sorteado. No fim, basicamente é isso. Quando você faz

numero_secreto = sorteia_numero_secreto

Na verdade, não existem duas variáveis com o mesmo valor, mas sim, um método está passando o valor de uma para outra variável. Entendeu?

Espero ter ajudado, bons estudos!

Olá Bruna, como vai ? Independente do nome da variável, o que está acontecendo é o seguinte: sua função sorteia_numero_secreto está devolvendo o valor 175 para quem quiser usar. Se você criasse a função da seguinte forma :

def sorteia_numero_secreto
    puts "Escolhendo um número secreto entre 0 e 200..."
    puts "Escolhido... que tal adivinhar hoje nosso número secreto?"
    return 175
end

Seu código também estaria certo. Então, novamente, independente do nome de variáveis, o que está acontecendo é: existe uma função retornando um valor para em algum lugar do código ele ser usado.

Até mais, bons estudos !!