在任何应用程序中,通常都需要访问操作系统级功能,并且可以使用操作系统库。 可用功能列表如下表所示。
| 编号 | 库或方法 | 描述 |
|---|---|---|
| 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() |
返回一个文件名,该文件名可用于临时文件。 文件必须在使用前显式打开,并在不再需要时显式删除。 |
常见的OS功能
使用常见数学函数的简单示例如下所示 -
-- 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命令。
上一篇:
Lua数学库
下一篇:无
