Как перейти на линию в рубине - PullRequest
0 голосов
/ 15 сентября 2018

Я делаю генератор pwd в ruby, и когда я прихожу к определенной точке кода, мне нужно вернуться обратно, если пользователь говорит, что хочет повторить попытку генерирования pwd.

print "do you want to retry to generate the password? [y/n]"
    retrypwd = gets.chomp
    if retrypwd == y
    (code to jump to some lines ago)
    elsif retrypwd == n
    print "Ok, It'll be for the next time"
end

1 Ответ

0 голосов
/ 15 сентября 2018

Хитрость заключается в том, чтобы использовать 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".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...