Lua程序延迟

时间:2013-12-11 06:26:47

标签: time lua delay

我如何使用它为我的Lua程序添加2分钟的延迟,这是延迟的代码,但我不知道如何添加延迟。

function sleep(n)
  local t = os.clock()
  while os.clock() - t <= n do
    -- nothing
  end
end

2 个答案:

答案 0 :(得分:5)

os.clock函数返回程序的CPU时间秒数。因此,您的sleep函数等待n秒,如果您需要延迟2分钟,请致电:

sleep(2*60)

请注意,有一些更好的解决方案可以实现除忙碌等待之外的sleep功能,有关详细信息,请参阅Sleep Function

答案 1 :(得分:0)

也许这会起作用

    function sleep(n)
         n = math.ceil(n)
         if n <= 0 and n > 99999 then return end --If the user enter a number below 0 and higher than 99999 the limit in TIMEOUT command in Windows
         os.execute("timeout /T "..tostring(seconds).." /NOBREAK")
    end

这不会因为忙循环而浪费CPU时间 但是“等待n秒钟,按CTRL + C退出...” 在Windows中,您可以使用-1,但是它将永远等待,因此我限制了它,因为永远等待是没有用的。而且,如果您不希望“等待n秒钟,按CTRL + C退出...”,则我不知道这样做是否可以在不显示该内容的情况下完成相同的操作。如果要消除该错误,只需在os.execute(“ timeout / T” ..tostring(seconds)..“ / NOBREAK”)语句后添加os.execute(“ cls”),它将清除控制台< / p>