如何有一个"goto"语句/如何建立一个循环?



这是困扰我的代码部分:

print "Command, please: "
command = gets.chomp
    case.response
    when 0
        exit
    when 1
        puts "Hello, world!"

我想让程序重复返回print "Command, please: "部分,并允许我在命令完成后输入另一个"Command "(例如,在命令1之后,我命令程序说"Hello, world!"

因此,我应该添加一个goto语句或类似的东西吗?据我所知,Ruby中没有goto函数。我试着在谷歌上搜索Ruby中goto函数的替代方案,但我没有得到一个直接的,初学者友好的答案。

或者我应该创建一个以开始的循环打印"Command, please:"并在命令之后使用redo函数吗?如果是,我如何建立这个循环?换句话说,我要输入什么才能让Ruby理解我想让循环从哪里开始?

谢谢!

这是一个循环。您可以通过将代码包装在loop块中来实现您想要的效果,就像这样

loop do
   # Your program
end

试试这个:

loop do # Edit: more Rubyesque than 'while true', see comments and other answers.
  print "Command, please: "
  command = gets.chomp
  case command
    when "0"
      exit
    when "1"
      puts "Hello, world!"
  end
end

注意:

case command -您正在检查命令变量,而不是case对象上的response方法。

when "0" -返回的总是一个字符串,所以它永远不会匹配0 -一个整数。

end -你已经打开了一个case语句

最新更新