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-字符串教程对此进行了详细介绍。
Lua几乎所有操作都依赖于table。较早的 Lua-Table教程对此进行了详细介绍。
在编程中经常需要数据存储工具,这是由Lua中用于文件I/O的标准库函数提供的。在早期的 Lua-文件I/O 教程中对此进行了讨论。
Lua提供了一个调试库,该库提供了所有原始函数供无涯教程创建自己的调试器。在早期的 Lua-调试教程中对此进行了讨论。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)