如何跳转到特定的代码行

时间:2017-03-09 23:03:06

标签: ruby

我是Ruby的新手,所以请给我任何建议。谢谢。 今天我几乎完成了一个简单的操作,最后我问用户是否想再玩一次。我知道如何使用If Else语句以及类似的内容但不知道如何跳回到游戏开始的代码行。我做了一些研究,发现了一些名为goto的东西,但发现它不应该被使用。无论如何,我可以去一个特定的代码行而不会弄乱一切? 谢谢你的帮助。

示例是:

print "Would you like to play again?"
puts "Yes or no"
again = gets.chomp!
again.capitalize!

if again == "Yes"
(Code to send back to line 9)
end

1 个答案:

答案 0 :(得分:2)

这个要点是使用loop方法,你可以重复一些事情,直到得到满意的答案:

def play_again?
  loop do
    print "Would you like to play 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
  run_game
end while play_again?

这将继续运行游戏,直到play_again?返回false,这只有在您键入“N”时才会发生。