Lua资料之标准库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sky6even/article/details/90602511

Lua 的库实际上就是包含了函数成员的表,这里表起到了名字空间的作用。

◆ 内置标准库:

Lua 内置的标准库很小,只提供基本的功能,主要有:

base:最核心的函数:
package:管理Lua 的模块;
string:字符串相关函数,如取子串、格式化、大小写转换等;
table:表相关函数,如插入删除元素、排序等;
math:数学计算相关函数,如三角函数、平方根等:
io:文件相关函数,如打开、关闭、读写文件,注意是阻塞的;
OS:操作系统相关函数:
debug:调试用的函数

◆ io库:

io 库里是操作文件的函数,由于文件通常存储在磁盘上,而且是阻塞操作,速度很慢,在OpenResty 里应当尽量少用。

1、io.open(filename,mode):

以” r ”、” w ” 等模式打开文件,然后返回一个文件对象,可以用“:”调用read 和write方法来读写文件内容,最后用close方法关闭文件。

在读取数据时,可以使用参数“*a” (即all)读取整个文件,或者“*l”(即line)读取一行,使用数字则读取指定长度的字节。

local f = io:open("xxx","r")  -- 以只读模式打开一个文件
print(f:read("*l"))           --读取文件里的一行
print(f:read(20))             -- 读取20个字节
f: close()                    -- 关闭文件

2、io.popen(prog,mode):

即“ pipe open ”,使用操作系统执行prog 命令,并打开管道,可以从里面读出命令执行结果或者向管道写入数据,功能上很类似as.execute ,但好处是可以利用管道操作简单地访问数据。

local f = io.popen("ps -ef | grep nginx | wc -l")
print(f:read())
f:close

3、io.tmpfile():

创建一个临时文件,返回可操作的文件对象,临时文件会在程序结束后自动删除。

猜你喜欢

转载自blog.csdn.net/sky6even/article/details/90602511
今日推荐