【问题标题】:Equivalent of return in lua? [duplicate]相当于lua中的回报? [复制]
【发布时间】:2017-04-18 14:47:35
【问题描述】:

我在 lua 中有一个循环,当某件事发生时,我希望它重新开始循环。但是,当我返回时,它只会结束循环。

wrong = false
while true do
    if wrong then
      return
    end

    print 'Not wrong'
end

【问题讨论】:

  • 您在寻找“继续”关键字吗?如果是这样,您可能想阅读以下内容:stackoverflow.com/questions/3524970/…
  • return 正在做它应该做的事情。在大多数语言中,return 终止当前函数调用,而不仅仅是当前循环。我建议你重写问题来描述你想做什么,而不是你错误地认为return应该做什么。

标签: lua


【解决方案1】:

首先return 不会终止你的循环,它会终止整个函数/脚本。请注意这一点!要终止循环,请使用break。您正在寻找其他语言中“继续”的等价物。

Lua 中没有这样的东西。你可以使用 goto 语句来处理一些东西,这些语句在较新的 Lua 版本中可用,但通常你可以简单地重写你的代码:

while true do
  if not wrong then
    print("not wrong")
  end
end

【讨论】:

    【解决方案2】:

    Return 终止一个函数并返回一个值。我相信你想break 跳出循环

    【讨论】:

    • break 不会开始循环,这是 OP 询问的内容。
    猜你喜欢
    • 2021-12-31
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多