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

Esse raciocínio está correto?

Olá pessoal, estou fazendo o curso Lógica de programação com jogos utilizando o Ruby. Neste momento tenho algumas dúvidas e gostaria de compartilha-las. Neste código:

correto = numero_secreto == chute.to_i

O [correto] é uma variável? ela tem o mesmo valor da variável [numero secreto]? Por exemplo:

numero_secreto = 50 #variável
correto = numero secreto #outra variável

então o código:

if correto
puts "Nice, you got it!"
end

tem o mesmo valor que:

if numero_secreto
puts "Nice you got it!"
end

é isso? Se for, para quer criar uma nova variável com o mesmo valor? Questão de organização? Porque o professor ensinou assim:

correto = numero_secreto == chute.to_i
if correto
puts "Nice, you got it!"
end

Aguardo.

5 respostas

Boa noite Bernardo!

O correto realmente é uma variável, como você mesmo disse!

Vale lembrar que uma variável guarda uma única informação dentro dela. Então, precisa ter primeiro uma única informação do lado direito do igual pra poder guardar esse valor na variável.

No caso do código:

correto = numero_secreto == chute.to_i

primeiro precisa ter uma única informação do lado direito do =, mas ainda temos:

numero_secreto == chute.to_i

Resolvendo essa operação, chegamos em um único valor, que será ou true ou false.

Assim, o valor guardado na variável correto será ou true ou false, os únicos valores (finais) que podem ser utilizados em um if.

Opa! Até o momento estou entendo. Mas em relação ao uso das variáveis [correto] e [numero_secreto] elas possuem o mesmo valor correto?

solução!

Oi Bernardo, perdão pela demora.

Se estivesse apenas o código

correto = numero_secreto

seria justamente como você falou: as duas variáveis possuiriam o mesmo valor!

Só que o código tá um pouquinho diferente:

correto = numero_secreto == chute.to_i

Com esse código, o valor da variável correto vai ser:

  • verdadeiro, se o valor da variável numero_secreto for igual ao valor de chute.to_i
  • falso, se o valor de numero_secreto for diferente do valor de chute.to_i

Opa! Muito obrigado pela explicação!

Fico feliz por ter conseguido ajudar! :)