Lua中實現sleep函式功能的4種方法

2021-07-25 19:06:05 字數 1012 閱讀 5931

這篇文章主要介紹了lua中實現sleep函式功能的4種方法,本文講解了在乙個死迴圈中設定乙個跳出條件方法、呼叫系統的sleep函式法、windows下ping命令法、socket庫中select函式法4種方法,需要的朋友可以參考下

乙個不幸的訊息是lua中沒有內建sleep函式,我們需要diy。有4種方法可以實現sleep函式,如下:

方法1

複製**

**如下:

--在乙個死迴圈中設定乙個跳出條件,但是這樣的做法會占用大量cpu資源,強烈不推薦使用哦

function sleep(n)

local t0 = os.clock()

while os.clock() - t0 <= n do end

end方法2

複製**

**如下:

--呼叫系統的sleep函式,不消耗cpu,但是windows系統中沒有內建這個命令(如果你又安裝cygwin神馬的也行)。推薦在linux系統中使用該方法

function sleep(n)

os.execute("sleep " .. n)

end方法3

複製**

**如下:

--雖然windows沒有內建sleep命令,但是我們可以稍微利用下ping命令的性質

function sleep(n)

if n > 0 then os.execute("ping -n " .. tonumber(n + 1) .. " localhost > nul") end

end方法4

複製**

**如下:

--使用socket庫中select函式,可以傳遞0.1給n,使得休眠的時間精度達到毫秒級別。

‍require("socket")

function sleep(n)

socket.select(nil, nil, n)

end

Lua中實現sleep函式功能的4種方法

乙個不幸的訊息是lua中沒有內建sleep函式,我們需要diy。有4種方法可以實現sleep函式,如下 方法1複製 如下 在乙個死迴圈中設定乙個跳出條件,但是這樣的做法會占用大量cpu資源,強烈不推薦使用哦 function sleep n local t0 os.cl while os.clock...

lua中的sleep實現

這篇文章主要介紹了lua中實現sleep函式功能的4種方法,本文講解了在乙個死迴圈中設定乙個跳出條件方法 呼叫系統的sleep函式法 windows下ping命令法 socket庫中select函式法4種方法,需要的朋友可以參考下 乙個不幸的訊息是lua中沒有內建sleep函式,我們需要diy。有4...

Lua中實現Switch功能

熟悉lua的大家應該都知道,lua中是沒有switch語法的,所以很多時候要條件判斷的時候只有一條又一條的if 和elseif 去寫,但是很多時候看上去很不直觀,但是lua的table型別其實相當強大。利用表結構和匿名函式,我們就可以實現switch功能。以下是在專案中的一段應用 function ...