在任何應用程式中,通常都需要存取作業系統級功能,並且可以使用作業系統庫。 可用功能列表如下表所示。
編號 | 庫或方法 | 描述 |
---|---|---|
1 | os.clock() |
返回程式使用的CPU時間(以秒為單位)的近似值。 |
2 | os.date([format[, time]]) |
返回包含日期和時間的字串或表,根據給定的字串格式進行格式化。 |
3 | os.difftime(t2,t1) |
返回從時間t1 到時間t2 的秒數。在POSIX,Windows和其他一些系統中,恰好是t2-t1 的值。 |
4 | os.execute([command]) |
此功能相當於ANSI C功能系統。 它傳遞要由作業系統shell執行的命令。 如果命令成功終止,則第一個結果為true ,否則為nil 。 |
5 | os.exit([code[, close]) |
呼叫ANSI C函式出口以終止宿主程式。 如果code 為true ,則返回狀態為EXIT_SUCCESS ; 如果code 為false ,則返回狀態為EXIT_FAILURE ; 如果code 是數位,則返回的狀態是此數位。 |
6 | os.getenv(varname) |
返回進程環境變數varname 的值,如果未定義變數,則返回nil 。 |
7 | os.remove(filename) |
使用給定名稱刪除檔案(或POSIX系統上的空目錄)。 如果此函式失敗,則返回nil ,以及描述錯誤和錯誤程式碼的字串。 |
8 | os.rename(oldname, newname) |
將名為oldname 的檔案或目錄重新命名為newname 。 如果此函式失敗,則返回nil ,以及描述錯誤和錯誤程式碼的字串。 |
9 | os.setlocale(locale [,category]) |
設定程式的當前區域設定。 locale 是一個依賴於系統的字串,用於指定語言環境; category 是一個可選字串,用於描述要更改的類別:all ,collate ,ctype ,currency ,numeric 或time ; 預設類別(category )是"all" 。該函式返回新語言環境的名稱,如果無法滿足請求,則返回nil 。 |
10 | os.time([table]) |
返回不帶引數呼叫的當前時間,或表示給定表指定的日期和時間的時間。 此表必須包含欄位年,月和日,並且可能包含欄位小時(預設值為12 ),分鐘(預設值為0 ),秒(預設值為0 )和isdst (預設值為nil )。 有關這些欄位的說明,請參見os.date 函式。 |
11 | os.tmpname() |
返回一個檔案名,該檔案名可用於臨時檔案。 檔案必須在使用前顯式開啟,並在不再需要時顯式刪除。 |
使用常見數學函式的簡單範例如下所示 -
-- Date with format
io.write("The date is ", os.date("%m/%d/%Y"),"\n")
-- Date and time
io.write("The date and time is ", os.date(),"\n")
-- Time
io.write("The OS time is ", os.time(),"\n")
-- Wait for some time
for i=1,1000000 do
end
-- Time since Lua started
io.write("Lua started before ", os.clock(),"\n")
當執行上面的程式時,將得到類似的輸出如下 -
The date is 01/25/2018
The date and time is 01/25/18 07:38:40
The OS time is 1490615720
Lua started before 0.013
上面的例子只是一些常見的例子,可根據自己的需要使用OS庫,建議嘗試使用所有的功能以便更加熟悉。像remove
這樣的函式有助於刪除檔案,執行有助於於執行OS命令。