我对Ruby很新,所以请给我任何建议,你可以提供。谢谢。 今天我几乎完成了一个简单的最后我问用户是否想再次玩。我知道如何做If If语句和类似的东西,但不知道如何跳回到游戏开始的代码行。我做了一些研究,发现了一些叫做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
Ruby实际上并没有'goto'声明,而你真的不需要声明,它立即让你的代码无法维护。你能举出一个你想要做什么的具体例子,这样可以解释Ruby解决问题的方式吗? – tadman
大多数游戏都是围绕[*事件循环*](https://en.wikipedia.org/wiki/Event_loop)的概念构建的,其中由用户或各种游戏内定时器发起的操作均由其处理。每个事件都是单独处理的,通常按顺序处理,其中事件可能是按钮按下或鼠标移动。没有必要回到任何特定的代码行,因为当处理程序结束时,它只是循环回去,并通过设计做其他事情。 – tadman
尝试将你的代码放在'loop do .... end'循环中。这将继续循环,直到遇到'break'或'break x'('x'是一个返回值)。有些人使用'while(true)... end',但我最喜欢'loop do'。有关详细信息,请参见[Kernel#loop](http://ruby-doc.org/core-2.3.0/Kernel.html#method-i-loop),包括一个简单示例。 –