Ruby 如何拥有一个;“转到”;语句/如何建立循环?
这是困扰我的代码部分:Ruby 如何拥有一个;“转到”;语句/如何建立循环?,ruby,Ruby,这是困扰我的代码部分: print "Command, please: " command = gets.chomp case.response when 0 exit when 1 puts "Hello, world!" 我希望程序重复打印“命令,请:”部分,并允许我在命令完成后键入另一个“命令”(例如,在命令1之后,我命令程序说“你好,世界!” 因此,我应该添加一个goto语句或类似的东西吗?据我所知,Ruby中没有goto函数。我
print "Command, please: "
command = gets.chomp
case.response
when 0
exit
when 1
puts "Hello, world!"
我希望程序重复打印“命令,请:”部分,并允许我在命令完成后键入另一个“命令”(例如,在命令1之后,我命令程序说“你好,世界!”
因此,我应该添加一个goto
语句或类似的东西吗?据我所知,Ruby中没有goto
函数。我尝试用谷歌搜索Ruby中的goto
函数的替代方案,但我还没有得到一个简单、对初学者友好的答案
或者我应该创建一个从print“Command,please:”开始的循环,并在命令之后使用redo
函数吗?如果是,我如何建立循环?换句话说,我应该键入什么,以便Ruby知道我希望循环从何处开始
谢谢!这是一个循环。您可以通过像这样将代码包装在
循环
块中来实现所需的功能
loop do
# Your program
end
它是一个循环。您可以通过将代码包装在一个
循环
块中来实现所需
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命令
-您正在检查命令变量,而不是case对象上的响应
方法
当“0”时
-返回的始终是字符串,因此它永远不会匹配0
-整数
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命令
-您正在检查命令变量,而不是case对象上的响应
方法
当“0”时
-返回的始终是字符串,因此它永远不会匹配0
-整数
结束
-你已经打开了一个案例陈述。看看看看循环
,嗯?我有一个新的…:DAhmad,这一定是你有过的最简单的30分和计算代表积分的方法了!:-)循环
,嗯?我穿上新的…:达赫玛德,这一定是最简单的30分了,算一下你赢得的积分吧!:-)<代码>循环执行而不是,而为true
。是的,更具idomatic。另外,loop
通过中断循环来处理异常StopIteration
,这在使用枚举数时通常很方便。如果枚举器enum
位于枚举的末尾,e.next
和e.peek
将引发StopIteration
异常。我喜欢S.O.的评论多于问题和答案。答案已更新。循环执行
而不是,而为true
。是的,更为自动化。另外,loop
通过中断循环来处理异常StopIteration
,这在使用枚举数时通常很方便。如果枚举器enum
位于枚举的末尾,e.next
和e.peek
将引发StopIteration
异常。我喜欢S.O.的评论多于问题和答案。答案已更新。