Хитрость заключается в том, чтобы использовать loop
и сломать его или повторить в соответствии с вашими ожиданиями:
def try_again?
loop do
print "Would you like to try again? Y/N"
again = gets.chomp.capitalize
case (again)
when 'N'
return false
when 'Y'
return true
else
puts "Huh? I don't know what that means."
end
end
end
Затем вы можете включить это в свою основную программу:
begin
try_password
end while try_again?
Вы продолжите пробовать пароли, пока try_again?
не вернет false
, что произойдет, если вы введете "N".