Olá guerreiro!
Rodei seu código em um compilador online, e nenhum erro. Parabéns! Continue praticando e estudando!
Agora vem a parte ruim, depois do carinho vem o soco kkk. :)
Eu nunca programei em Ruby, mas o seu código me fez molhar o pé na praia do Ruby, obrigado!
Como eu havia dito, o código tá rodando no compilador sem nenhum erro, porém eu só mudaria algumas coisas, deixando mais conciso, sabe. Por exemplo:
No recorte do seu código (código abaixo), você coloca puts ""
. Não vejo necessidade, você pode usar o seguinte caractere especial '\n' que significa new line, um caracteres especial que usamos dentro do print. (Quando falo print, pense só na ideia de mostrar na tela). Poderia ficar assim:
...
puts "Escolha uma opção abaixo: "
puts "\n1- Descobrir a idade canina do seu cachorro"
puts "0- Sair"
...
Iria ter o mesmo resultado. O mais interessante aqui, é o conhecimento mesmo, saber que existe um caracteres especial.
Dando continuidade, o if human_age >= 1
mais especificamente, o else
, você como programador permitiu que o usuário digitasse 0. E acredite, o usuário vai digitar zero, e quando ele digita zero, simplesmente o código sai do loop, eu mudaria essa parte do código. Aqui o foco é na lógica e idealização do programa, não tá errado, tá errado na lógica de negócio, o usuário por algum motivo digitou zero. Então, seria mais coeso jogar um puts "Seu doguinho é muito novo, ainda tem poucos anos de vida!"
ou fazer o cálculo, e não simplesmente sair.
Por fim, quando o usuário digita zero na opção de sair, acho que não é legal perguntar o nome do doguinho, quando você aperta fechar na navegador ou outro aplicativo você quer fechar, não quer perder muito tempo. Só deve aparecer coisas extremamentes importantes após isso, tipo "salvar o arquivo pois senão, irá perder todas as informações". Novamente, este não é um erro apenas uma questão de decisão mesmo.
Espero ter ajudado, é só isso mesmo! ;)
Desculpa os erros de digitação, e talvez a escrita objetiva (não é para ser arrogante).
Parabéns pela coragem! Continue.