Lua - 标准库

Lua - 标准库 首页 / Lua入门教程 / Lua - 标准库

Lua标准库提供了丰富的函数集,这些函数可以直接通过C API实现,并且是用Lua编程语言内置的。这些库提供Lua编程语言内的服务,以及文件和db操作之类的外部服务。

基本库

在整个教程中,无涯教程在各种主题下都使用了基本库。下表提供了相关页面的链接,并列出了本Lua教程各个部分所涵盖的函数。

Sr.No.Library/Method & Purpose
1

Error Handling

包括错误处理函数,如断言,错误,如 Lua-错误处理中所述。

2

Memory Management

包括与垃圾收集相关的自动内存管理函数,如 Lua-垃圾收集中所述。

3

dofile([filename])

它打开文件并以块的形式执行文件的内容。如果未传递任何参数,则此函数将执行标准输入的内容。错误将传播到调用方。

4

_G

因此,拥有全局环境的全局变量(即_G._G=_G)。 Lua本身不使用此变量。

5

getfenv([f])

返回函数正在使用的当前环境。 f可以是Lua函数或在该堆栈级别指定该函数的数字-级别1是调用getfenv的函数。如果给定的函数不是Lua函数,或者f为0,则getfenv返回全局环境。 f的默认值为1。

6

getmetatable(object)

如果object没有metatable,则返回nil。否则,如果对象的元表具有" __metatable"字段,则返回关联的值。否则,返回给定对象的元表。

7

ipairs(t)

该函数获取Table的索引和值。

8

load(func[,chunkname])

使用函数func加载块以获取块。每次对func的调用都必须返回一个与先前输出连接的字符串。

9

loadfile([filename]))

与加载类似,但是如果未提供文件名,则从文件文件名或标准输入获取块。

10

loadstring(string[,chunkname])

与加载类似,但从给定的字符串获取块。

11

next(table[,index])

允许程序遍历Table的所有字段。它的第一个参数是一个Table,第二个参数是该Table中的索引。 next返回Table的下一个索引及其关联值。

12

pairs(t)

暂停正在运行的协程。传递给此方法的参数充当resume函数的其他返回值。

13

print(...)

暂停正在运行的协程。传递给此方法的参数充当resume函数的其他返回值。

14

rawequal(v1,v2)

检查v1是否等于v2,而不调用任何元方法。返回一个布尔值。

15

rawget(table,index)

获取table [index]的实际值,而无需调用任何元方法。 table必须是一个Table;索引可以是任何值。

16

rawset(table,index,value)

将table [index]的实际值设置为value,而无需调用任何元方法。 table必须是一个Table,索引与nil不同的任何值,并为Lua的任何值赋值。该函数返回Table。

17

select(index,...)

如果index是数字,则返回参数编号index之后的所有参数。否则,index必须为字符串"#",并且select返回其收到的额外参数的总数。

18

setfenv(f,table)

设置给定函数要使用的环境。 f可以是Lua函数或在该堆栈级别指定该函数的数字-级别1是调用setfenv的函数。 setfenv返回给定的函数。作为一种特殊情况,当f为0时,setfenv会更改正在运行的线程的环境。在这种情况下,setfenv不返回任何值。

19

setmetatable(table,metatable)

设置给定Table的元表。 (不能从Lua只能从C更改其他类型的元表。)如果metatable为nil,则删除给定Table的元表。如果原始元表具有" __metatable"字段,则会引发错误。该函数返回Table。

20

tonumber(e [,base])

尝试将其参数转换为数字。如果参数已经是数字或可转换为数字的字符串,则tonumber返回此数字;否则,返回nil。

21

tostring(e)

接收任何类型的参数,并将其转换为合理格式的字符串。要完全控制数字的转换方式,请使用string.format。

22

type(v)

返回其唯一参数的类型,编码为字符串。该函数的可能输出是" nil"(字符串,而不是值nil)," number"," string"," boolean"," table"," function"," thread"和" userdata"。

23

unpack(list[,i [,j]])

返回给定Table中的元素。

24

_VERSION

包含包含当前解释器版本的字符串的全局变量(不是函数)。该变量的当前内容为" Lua 5.1"。

25

Coroutines

包含如 Lua-Coroutines 中所述的协程操纵函数。

模块库

模块库提供了在Lua中加载模块的基本函数。它直接在全局环境中导出一个函数:require。其他所有内容都以Table包的形式导出。有关模块库的详细信息,请参见前面的 Lua-模块教程。

字符串操作

Lua提供了丰富的字符串操作函数集。较早的 Lua-字符串教程对此进行了详细介绍。

Table操作

Lua几乎所有操作都依赖于table。较早的 Lua-Table教程对此进行了详细介绍。

文件输入输出

在编程中经常需要数据存储工具,这是由Lua中用于文件I/O的标准库函数提供的。在早期的 Lua-文件I/O 教程中对此进行了讨论。

调试工具

Lua提供了一个调试库,该库提供了所有原始函数供无涯教程创建自己的调试器。在早期的 Lua-调试教程中对此进行了讨论。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

人工智能基础课 -〔王天一〕

即时消息技术剖析与实战 -〔袁武林〕

DDD实战课 -〔欧创新〕

SRE实战手册 -〔赵成〕

攻克视频技术 -〔李江〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

大厂设计进阶实战课 -〔小乔〕

JavaScript进阶实战课 -〔石川〕

Rust 语言从入门到实战 -〔唐刚〕

好记忆不如烂笔头。留下您的足迹吧 :)