Function 退出并重新启动Lua中的函数
我的问题是我有一个Function 退出并重新启动Lua中的函数,function,lua,Function,Lua,我的问题是我有一个函数a(),我需要在特定时间无条件退出。我的问题是如何实现无条件退出函数的目标 Example: local function a() --Do Stuff end a() 换句话说,有没有一种方法可以用一个命令退出函数:return、coroutine.yield(如果函数作为一个coroutine执行)和error()调用(可以用函数周围的pcall来捕获) 我不知道你所说的“无条件退出函数”是什么意思,但这些选项中的一个应该对你有用,因为没有其他可用选项
函数a()
,我需要在特定时间无条件退出。我的问题是如何实现无条件退出函数的目标
Example:
local function a()
--Do Stuff
end
a()
换句话说,有没有一种方法可以用一个命令退出函数:
return
、coroutine.yield
(如果函数作为一个coroutine执行)和error()
调用(可以用函数周围的pcall
来捕获)
我不知道你所说的“无条件退出函数”是什么意思,但这些选项中的一个应该对你有用,因为没有其他可用选项。(您也可以使用debug hook并从中调用error()
,而无需修改函数代码,但我认为您的情况下不需要这样做。)是:
function a()
-- do stuff
if time_to_exit then
return
end
-- do more stuff
end
退出的时间可以是您想要的任何内容:检查某个内容是否为真或非零,或者检查该时间是否已过,等等。详细信息取决于您想要实现的目标(如果您需要更多详细信息,请澄清您的帖子,并对此答案发表评论,以便我知道)
do return end
放置在函数中的任意位置,当到达时,将无条件退出函数
function a()
-- some stuff
do return end
-- some more stuff (that won't execute)
end
谢谢,这正是我想要的!