为什么在Lua的for循环中,if then return break end不起作用?

我有以下函数,它会检查给定的参数是否作为键出现在键值表中。 如果是这种情况,则应返回 true并退出循环。 如果找不到任何内容,则什么也不做。

function checkId(id)
  for k,v in pairs(info) do
    if id == tostring(k) then
      return true
      break --退出循环。任务已完成。
    end
  end
end

当我尝试运行此脚本时,会出现以下错误:

'end' 期望 (关闭第192行的“do”)附近的“break”

我缺少什么?

点赞
用户258523
用户258523

逻辑上,你不能像那样同时使用 returnbreak

return 会立即退出函数(所以不必要使用 break)。

这个具体的错误是因为在 Lua 中,return 必须是一个块中的最后一个语句。

2015-04-29 16:38:47