Lua的API函数
1. 基础库
我们在整个教程中使用了各种主题下的基本库。 下表提供了相关页面的链接,并列出了本Lua教程各部分所涵盖的功能。
编号 |
库/方法 |
作用 |
1 |
错误处理 |
包括错误处理函数,如断言, 错误,如Lua错误处理中所述。 |
2 |
内存管理 |
包括与垃圾收集相关的自动内存管理功能, 如Lua垃圾收集中所述。 |
3 |
|
它打开文件并以块的形式执行文件的内容。 |
4 |
|
因此是保存全局环境的全局变量(即 |
5 |
|
返回函数使用的当前环境。 |
6 |
|
如果 |
7 |
|
此函数获取表的索引和值。 |
8 |
|
使用函数 |
9 |
|
与 |
10 |
|
与 |
11 |
|
允许程序遍历表的所有字段。 |
12 |
|
暂停正在运行的协同程序。 |
13 |
|
打印给定的参数值。 |
14 |
|
检查 |
15 |
|
获取 |
16 |
|
将 |
17 |
|
如果 |
18 |
|
设置给定函数使用的环境。 |
19 |
|
设置给定表的元表。 |
20 |
|
尝试将参数转换为数字。 |
21 |
|
接收任何类型的参数并将其转换为合理格式的字符串。 |
22 |
|
返回唯一参数的类型,编码为字符串。 |
23 |
|
返回给定表中的元素。 |
24 |
|
包含当前解释器版本的字符串的全局变量(不是函数)。 |
25 |
协同程序 |
包括Lua协同程序中解释的协程操作功能。 |
2. Lua数学库
编号 |
库或方法 |
描述 |
1 |
|
返回 |
2 |
|
返回 |
3 |
|
返回 |
4 |
|
返回 |
5 |
|
返回 |
6 |
|
返回大于或等于 |
7 |
|
返回 |
8 |
|
返回 |
9 |
|
以度为单位返回角度 |
10 |
|
返回值 |
11 |
|
返回小于或等于 |
12 |
|
返回 |
13 |
|
返回 |
14 |
|
|
15 |
|
返回 |
16 |
|
返回 |
17 |
|
返回 |
18 |
|
返回参数中的最大值。 |
19 |
|
返回参数中的最小值。 |
20 |
|
返回两个数字, |
21 |
|
|
22 |
|
返回 |
23 |
|
以弧度为单位返回角度 |
24 |
|
此函数是ANSI C提供的简单伪随机生成器函数rand的接口。 |
25 |
|
将 |
26 |
|
返回 |
27 |
|
返回 |
28 |
|
返回 |
29 |
|
返回 |
30 |
|
返回 |
三角函数
使用三角函数的简单示例如下所示-
radianVal
=math
.rad(math
.pi
/2)
io
.write(radianVal
,"\n")
-- Sin value of 90(math.pi / 2) degrees
io
.write(string
.format("%.1f ",math
.sin(radianVal
)),"\n")
-- Cos value of 90(math.pi / 2) degrees
io
.write(string
.format("%.1f ",math
.cos(radianVal
)),"\n")
-- Tan value of 90(math.pi / 2) degrees
io
.write(string
.format("%.1f ",math
.tan(radianVal
)),"\n")
-- Cosh value of 90(math.pi / 2) degrees
io
.write(string
.format("%.1f ",math
.cosh(radianVal
)),"\n")
-- Pi Value in degrees
io
.write(math
.deg(math
.pi
),"\n")
当运行上面的程序时,将得到以下输出 -
0.0274155677808040.01.0
0.0
1.0
180
其他常见的数学函数
使用常见数学函数的简单示例如下所示-
-- Floor
io
.write("Floor of 10.5055 is ",math
.floor(10.5055),"\n")
-- Ceil
io
.write("Ceil of 10.5055 is ",math
.ceil(10.5055),"\n")
-- Square root
io
.write("Square root of 16 is ",math
.sqrt(16),"\n")
-- Power
io
.write("10 power 2 is ",math
.pow(10,2),"\n")
io
.write("100 power 0.5 is ",math
.pow(100,0.5),"\n")
-- Absolute
io
.write("Absolute value of -10 is ",math
.abs(-10),"\n")
--Random
math
.randomseed(os
.time())
io
.write("Random number between 1 and 100 is ",math
.random(),"\n")
--Random between 1 to 100
io
.write("Random number between 1 and 100 is ",math
.random(1,100),"\n")
--Max
io
.write("Maximum in the input array is ",math
.max(1,100,101,99,999),"\n")
--Min
io
.write("Minimum in the input array is ",math
.min(1,100,101,99,999),"\n")
当运行上面的程序时,将得到以下输出 -
Floor of 10.5055 is 10
Ceil of 10.5055 is 11
Square root of 16 is 4
10 power 2 is 100
100 power 0.5 is 10
Absolute value of -10 is 10
Random number between 1 and 100 is 0.22876674703207
Random number between 1 and 100 is 7
Maximum in the input array is 999
Minimum in the input array is 1
3. Lua操作系统工具
编号 |
库或方法 |
描述 |
1 |
|
返回程序使用的CPU时间(以秒为单位)的近似值。 |
2 |
|
返回包含日期和时间的字符串或表,根据给定的字符串格式进行格式化。 |
3 |
|
返回从时间 |
4 |
|
此功能相当于ANSI C功能系统。 它传递要由操作系统shell执行的命令。 如果命令成功终止,则第一个结果为 |
5 |
|
调用ANSI C函数出口以终止宿主程序。 如果 |
6 |
|
返回进程环境变量 |
7 |
|
使用给定名称删除文件(或POSIX系统上的空目录)。 如果此函数失败,则返回 |
8 |
|
将名为 |
9 |
|
设置程序的当前区域设置。 |
10 |
|
返回不带参数调用的当前时间,或表示给定表指定的日期和时间的时间。 此表必须包含字段年,月和日,并且可能包含字段小时(默认值为 |
11 |
|
返回一个文件名,该文件名可用于临时文件。 文件必须在使用前显式打开,并在不再需要时显式删除。 |
常见的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 timefori
=1,1000000doend
-- 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命令。
--------------------------------------------------
转载于:https://www.yiibai.com/lua/lua_operating_system_facilities.html