0
я не мог понять проблему с этим кодом:Пока цикл не работает. Включает в себя строку и преобразование в верхний регистр
select = false
while (!select)
print "What animal do you want to adopt? (Cat/Dog/Fish): "
your_animal = gets
if your_animal.upcase == "CAT" or your_animal.upcase == "DOG" or your_animal.upcase == "FISH"
puts "Ah, you want #{your_animal}."
select = true
else
puts "Please pick from any of the three animals and make sure it is spelled correctly."
end
end
if
заявления с тремя условиями не работает, и буду выполнять код в else
заявлении даже если я напишу правильный ответ для оператора if
, который будет активирован.
Любая помощь будет оценена по достоинству.
... и 'до (выбрать)' вместо 'в то время как (! Выберите)'. Кроме того, если вы намерены преобразовать результат 'gets' в целое число (не здесь), вы можете написать либо' gets.chomp.to_i', либо просто 'gets.to_i', поскольку' .to_i' завершает преобразование как можно скорее поскольку он попадает на символ, отличный от цифры (или конца строки). То же самое с 'to_f'. –
Это сработало отлично! Я прочитал это после того, как вы упомянули об этом, и я понимаю, почему; потому что, когда вы вводите ввод, строка, которую он получает, составляет, например: «CAT » Это не то же самое, что «CAT». Спасибо, это имеет смысл! –
Alex, нет, 'get' возвращает' 'CAT \ n" '. –