为什么if then return break end在Lua内部for循环中不起作用
我有下面的函数,它检查给定的参数是否作为键值表中的键找到。如果是这种情况,它应该返回为什么if then return break end在Lua内部for循环中不起作用,lua,Lua,我有下面的函数,它检查给定的参数是否作为键值表中的键找到。如果是这种情况,它应该返回true并中断循环。如果什么也没找到,那就什么也不做 function checkId(id) for k,v in pairs(info) do if id == tostring(k) then return true break -- break out of loop. mission accomplished. end end end 我得到一份工作 预
true
并中断循环。如果什么也没找到,那就什么也不做
function checkId(id)
for k,v in pairs(info) do
if id == tostring(k) then
return true
break -- break out of loop. mission accomplished.
end
end
end
我得到一份工作
预计在“中断”附近“结束”(在第192行关闭“do”)
当我尝试运行此脚本时。我遗漏了什么?从逻辑上讲,你不能像那样
返回和中断
return
立即退出该函数(因此您不需要中断
)
该特定错误是因为在lua中,return必须是块中的最后一条语句。从逻辑上讲,您不能像这样返回和中断
return
立即退出该函数(因此您不需要中断
)
该特定错误是因为在lua中,return
必须是块中的最后一条语句。您不能return
和break
<代码>返回
退出该功能。在Lua5.1中,return必须是块中的最后一条语句。在这种情况下,您建议怎么做?如果条件满足,我需要这个函数返回一些东西。哈,我真是太蠢了。谢谢,它现在工作得很好。您不能返回和中断<代码>返回
退出该功能。在Lua5.1中,return必须是块中的最后一条语句。在这种情况下,您建议怎么做?如果条件满足,我需要这个函数返回一些东西。哈,我真是太蠢了。谢谢,它现在工作得很好。return
必须是最近每个Lua版本中块中的最后一条语句。是break
解除了这个限制,因为它无论如何都不能接受参数。@siffiejoe-Huh,的确如此。我想知道我当时对wrtreturn
有什么想法。谢谢。return
必须是每个最新Lua版本中块中的最后一条语句。是break
解除了这个限制,因为它无论如何都不能接受参数。@siffiejoe-Huh,的确如此。我想知道我当时对wrtreturn
有什么想法。谢谢