Lua程序延迟

我该如何使用这个函数将我的 Lua 程序添加一个 2 分钟的延迟?这是延迟的代码,但我不知道如何添加延迟。

function sleep(n)
  local t = os.clock()
  while os.clock() - t <= n do
    -- nothing
  end
end
点赞
用户1009479
用户1009479

os.clock 函数返回程序使用的 CPU 时间(秒数)。因此,你的 sleep 函数会等待 n 秒,如果你需要延迟 2 分钟,只需调用:

sleep(2*60)

请注意,有一些更好的解决方案实现 sleep 函数,而不是忙等待,请参见 Sleep Function 获取详细信息。

2013-12-11 06:34:51
用户13447666
用户13447666
也许这会有用
 function sleep(n)
     n = math.ceil(n)
     if n <= 0 and n > 99999 then return end --如果用户输入的数字小于0并且大于99999,那么在Windows中的TIMEOUT命令限制内则返回
     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"),它将清除控制台。

2020-05-08 06:43:33