Lua - Operating System Facilities

在任何应用程序中,通常都需要访问操作系统级功能,并且可以使用操作系统库.可用功能列表如下表所示.

Sr.No.Library/Method&目的
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;如果代码为false,则返回的状态为EXIT_FAILURE;如果代码是数字,则返回的状态为此数字.

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";默认类别是"全部".该函数返回新语言环境的名称,如果无法满足请求,则返回nil.

10

os.time([table])

返回当前时间不带参数调用,或表示给定表指定的日期和时间的时间.此表必须包含字段年,月和日,并且可能包含字段小时(默认值为12),min(默认值为0),sec(默认值为0)和isdst(默认值为nil).有关这些字段的说明,请参阅os.date函数.

11

os.tmpname()

返回一个文件名可用于a的字符串临时文件.该文件必须在使用前显式打开,并在不再需要时显式删除.

Common 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/2014
The date and time is 01/25/14 07:38:40
The OS time is 1390615720
Lua started before 0.013

上面的例子只是一些常见的例子,我们可以根据我们的需要使用OS库,所以尝试使用所有的功能更熟悉.有像remove这样的函数有助于删除文件,执行它可以帮助我们执行OS命令,如上所述.