ruby - 如何跳转到ruby中的一行

标签 ruby

我正在用 ruby​​ 做一个密码生成器,当我到达代码的某个点时,如果用户说他想重试生成密码,我需要返回。

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

最佳答案

诀窍是使用循环并根据您的期望中断或重复它:

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”就会出现这种情况。

关于ruby - 如何跳转到ruby中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347267/

相关文章:

ruby-on-rails - 使用 IP 地址结束 Rails 2 URL 会导致路由错误?

ruby-on-rails - 在 Rails 中增加发票数量

mysql - has_many :through multiple joins table

ruby-on-rails - 工厂女工的额外论点

ruby-on-rails - 使用迁移更改表列的默认值

ruby-on-rails - 使用上帝监控 unicorn - 以非零代码开始退出 = 1

ruby-on-rails - 为 Rails 4 禁用 ActiveRecord

ruby - 显示 BigDecimal 到任意精度

ruby - 如何从具有元素和频率的哈希创建数组

ruby - Unicorn 认为什么是 "fast"和 "slow"请求?