Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida

Olá! Não consigo entender porque é falso quando testo o conteúdo de uma variável que armazena uma string com a variável que armazenou o retorno do gets conforme código abaixo 8( :

secret_number = 175
secret_text = "175"
puts "put 175" #digite 175
try = gets 
puts try == secret_text                 #false
puts try.to_i == secret_number         #true
puts try == secret_number.to_s            #false
puts try #175

Poderia alguém me explicar o que acontece nesses casos?

1 resposta
solução!

Hum nada como um vídeo/explicação após o outro... Foi só chegar no vídeo 4.6 e minha resposta estava lá na explicação do Guilherme que contém apenas nove caracteres em seu nome. ;) Na verdade a string acaba armazenando o enter na última posição e por isso quando eu comparava 175 com 175+ enter dava falso. Assim o que preciso fazer para que a comparação resulte em igualdade é usar a função strip , como abaixo:

puts try.strip == secret_text #true