当前位置 : 主页 > 网络编程 > lua >

如何终止Lua脚本?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我如何终止Lua脚本?现在我有退出()的问题,我不知道为什么. (这是更多的Minecraft ComputerCraft问题,因为它使用的API包括.)这是我的代码: while true do if turtle.detect() then if turtle.getItemCount(16
我如何终止Lua脚本?现在我有退出()的问题,我不知道为什么. (这是更多的Minecraft ComputerCraft问题,因为它使用的API包括.)这是我的代码:

while true do

    if turtle.detect() then

        if turtle.getItemCount(16) == 64 then

            exit() --here is where I get problems

        end

        turtle.dig() --digs block in front of it

    end

end
正如prapin的答案所述,在Lua中,函数os.exit([code])将终止主机程序的执行.但是,这可能不是您要查找的,因为调用os.exit将不仅会终止您的脚本,还将终止正在运行的父Lua实例.

在Minecraft ComputerCraft中,调用error()也将完成您要查找的内容,但是在发生错误之后将其用于其他目的而不是真正终止脚本可能不是一个好习惯.

因为在Lua中,所有脚本文件也被视为具有自己范围的函数,所以退出脚本的首选方法是使用return关键字,就像从函数返回.

喜欢这个:

while true do

    if turtle.detect() then

        if turtle.getItemCount(16) == 64 then

            return -- exit from the script and return to the caller

        end

        turtle.dig() --digs block in front of it

    end

end
网友评论