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

Como comparar uma string e uma variável obtida através da função "gets"

Olá a todos. Estou em dúvida de como seria possível comparar uma string e uma variável no Ruby.

Notei que a comparação

"senha" ==  "senha"

retorna true, porém

tentativa = gets
tentativa == "senha"

inserindo "senha" retorna false.

Por que isso acontece? Existe algum método no Ruby para comparar uma string e uma variável como no exemplo?

Agradeço desde já.

1 resposta
solução!

P.S.

Na Aula 4 fica esclarecido que não se trata do método de comparação, e sim da forma como o valor da variável é armazenado.

O fato é que, ao enviar algo através do gets, o carácter enter (\n) é reconhecido como parte do valor atribuído à variável.

A solução apresentada na aula é usar gets.strip para armazenar a string evitando os espaços em branco à direita ou à esquerda.

De forma que

tentativa = gets.strip
tentativa  == "senha"

inserindo "senha" + enter retorna true.