Lua - 操作系统设施


在任何应用程序中,通常需要访问操作系统级功能,并且可以通过操作系统库提供它。下表列出了可用功能的列表。

先生。 库/方法和目的
1

操作系统时钟 ()

返回程序使用的 CPU 时间的近似值(以秒为单位)。

2

os.date([格式[,时间]])

返回包含日期和时间的字符串或表格,根据给定的字符串格式进行格式化。

3

os.difftime (t2, t1)

返回从时间 t1 到时间 t2 的秒数。在 POSIX、Windows 和其他一些系统中,该值恰好是 t2-t1。

4

os.execute([命令])

该函数相当于ANSI C函数系统。它传递要由操作系统 shell 执行的命令。如果命令成功终止,则第一个结果为 true,否则为 nil。

5

os.exit([代码[,关闭])

调用 ANSI C 函数 exit 来终止主机程序。如果code为true,则返回状态为EXIT_SUCCESS;如果 code 为 false,则返回状态为 EXIT_FAILURE;如果code是数字,则返回的状态就是这个数字。

6

os.getenv(变量名)

返回进程环境变量 varname 的值,如果未定义该变量则返回 nil。

7

os.remove(文件名)

删除具有给定名称的文件(或 POSIX 系统上的空目录)。如果此函数失败,它将返回 nil,以及描述错误的字符串和错误代码。

8

os.rename(旧名称,新名称)

将名为 oldname 的文件或目录重命名为 newname。如果此函数失败,它将返回 nil,以及描述错误的字符串和错误代码。

9

os.setlocale(语言环境[,类别])

设置程序的当前区域设置。locale 是一个与系统相关的字符串,指定区域设置;category 是一个可选字符串,描述要更改的类别:“all”、“collat​​e”、“ctype”、“monetary”、“numeric”或“time”;默认类别是“全部”。该函数返回新语言环境的名称,如果无法满足请求,则返回 nil。

10

os.time ([表])

在不带参数调用时返回当前时间,或表示给定表指定的日期和时间的时间。该表必须具有年、月和日字段,并且可能具有小时(默认为 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/2014
The date and time is 01/25/14 07:38:40
The OS time is 1390615720
Lua started before 0.013

上面的例子只是一些常见的例子,我们可以根据需要使用操作系统库,所以尝试使用所有的功能来更加熟悉。有一些函数,如remove,它有助于删除文件,execute 可以帮助我们执行上面解释的操作系统命令。