- Lua 教程
- Lua - 首页
- Lua 基础
- Lua - 概述
- Lua - 环境
- Lua - 基本语法
- Lua - 注释
- Lua - 打印 Hello World
- Lua - 变量
- Lua - 数据类型
- Lua - 运算符
- Lua - 循环
- Lua - 决策
- Lua - 函数
- Lua - 日期和时间
- Lua 数组
- Lua - 数组
- Lua - 多维数组
- Lua - 数组长度
- Lua - 遍历数组
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 在列表中搜索
- Lua 模块
- Lua - 模块
- Lua - 命名空间
- Lua 元表格
- Lua - 元表格
- Lua 协程
- Lua - 协程
- Lua 文件处理
- Lua - 文件 I/O
- Lua 库
- Lua - 标准库
- Lua - 数学库
- Lua - 操作系统功能
- Lua 有用资源
- Lua - 快速指南
- Lua - 有用资源
- Lua - 讨论
Lua - 标准库
Lua 标准库提供了一套丰富的函数,这些函数是使用 C API 直接实现的,并且是 Lua 编程语言内置的。这些库在 Lua 编程语言内部以及外部提供服务,例如文件和数据库操作。
这些在官方 C API 中内置的标准库作为单独的 C 模块提供。它包括以下内容:
- 基本库,包括协程子库
- 模块库
- 字符串操作
- 表格操作
- 数学库
- 文件输入和输出
- 操作系统功能
- 调试功能
基本库
我们在本教程的各个主题中都使用了基本库。下表提供了相关页面的链接,并列出了在本 Lua 教程的各个部分中介绍的函数。
序号 | 库/方法及用途 |
---|---|
1 | 错误处理 包括错误处理函数,如 assert、error,如 Lua - 错误处理 中所述。 |
2 | 内存管理 包括与垃圾回收相关的自动内存管理函数,如 Lua - 垃圾回收 中所述。 |
3 | dofile ([文件名]) 它打开文件并执行文件内容作为代码块。如果未传递参数,则此函数执行标准输入的内容。错误将传播到调用方。 |
4 | _G 这是保存全局环境的全局变量(即,_G._G = _G)。Lua 本身不使用此变量。 |
5 | getfenv ([f]) 返回函数正在使用的当前环境。f 可以是 Lua 函数,也可以是指定该函数在堆栈中位置的数字 - 级别 1 是调用 getfenv 的函数。如果给定的函数不是 Lua 函数,或者如果 f 为 0,则 getfenv 返回全局环境。f 的默认值为 1。 |
6 | getmetatable (对象) 如果对象没有元表格,则返回 nil。否则,如果对象的元表格具有 "__metatable" 字段,则返回关联的值。否则,返回给定对象的元表格。 |
7 | ipairs (t) 此函数获取表格的索引和值。 |
8 | load (func [, 代码块名称]) 使用函数 func 加载代码块以获取其片段。对 func 的每次调用都必须返回一个与先前结果连接的字符串。 |
9 | loadfile ([文件名])) 类似于 load,但从文件 filename 或标准输入获取代码块,如果未给出文件名。 |
10 | loadstring (字符串 [, 代码块名称]) 类似于 load,但从给定的字符串获取代码块。 |
11 | next (表格 [, 索引]) 允许程序遍历表格的所有字段。它的第一个参数是表格,第二个参数是该表格中的索引。next 返回表格的下一个索引及其关联的值。 |
12 | pairs (t) 挂起正在运行的协程。传递给此方法的参数充当 resume 函数的其他返回值。 |
13 | print (...) 挂起正在运行的协程。传递给此方法的参数充当 resume 函数的其他返回值。 |
14 | rawequal (v1, v2) 检查 v1 是否等于 v2,不调用任何元方法。返回布尔值。 |
15 | rawget (表格, 索引) 获取表格[索引]的真实值,不调用任何元方法。表格必须是表格;索引可以是任何值。 |
16 | rawset (表格, 索引, 值) 将表格[索引]的真实值设置为值,不调用任何元方法。表格必须是表格,索引为除 nil 之外的任何值,值可以是任何 Lua 值。此函数返回表格。 |
17 | select (索引, ...) 如果索引是数字,则返回参数编号索引之后的全部参数。否则,索引必须是字符串 "#",select 返回它接收到的额外参数的总数。 |
18 | setfenv (f, 表格) 设置要由给定函数使用的环境。f 可以是 Lua 函数,也可以是指定该函数在堆栈中位置的数字 - 级别 1 是调用 setfenv 的函数。setfenv 返回给定的函数。作为特例,当 f 为 0 时,setfenv 更改正在运行的线程的环境。在这种情况下,setfenv 不返回值。 |
19 | setmetatable (表格, 元表格) 设置给定表格的元表格。(您不能从 Lua 更改其他类型的元表格,只能从 C 更改。)如果元表格为 nil,则删除给定表格的元表格。如果原始元表格具有 "__metatable" 字段,则引发错误。此函数返回表格。 |
20 | tonumber (e [, 基数]) 尝试将其参数转换为数字。如果参数已经是数字或可转换为数字的字符串,则 tonumber 返回此数字;否则,它返回 nil。 |
21 | tostring (e) 接收任何类型的参数并将其转换为合理格式的字符串。要完全控制数字的转换方式,请使用 string.format。 |
22 | type (v) 返回其唯一参数的类型,编码为字符串。此函数的可能结果是“nil”(字符串,而不是值 nil)、“number”、“string”、“boolean”、“table”、“function”、“thread”和“userdata”。 |
23 | unpack (列表 [, i [, j]]) 返回给定表格中的元素。 |
24 | _VERSION 一个全局变量(不是函数),它保存一个包含当前解释器版本的字符串。此变量的当前内容为“Lua 5.1”。 |
25 | 协程 包括协程操作函数,如 Lua - 协程 中所述。 |
模块库
模块库提供了在 Lua 中加载模块的基本函数。它在全局环境中直接导出一个函数:require。其他所有内容都导出到表格 package 中。关于模块库的详细信息在前面的章节 Lua - 模块 教程中进行了说明。
字符串操作
Lua 提供了一套丰富的字符串操作函数。前面的 Lua - 字符串 教程详细介绍了这一点。
表格操作
Lua 在其几乎所有操作中都依赖于表格。前面的 Lua - 表格 教程详细介绍了这一点。
文件输入和输出
在编程中,我们经常需要数据存储功能,这由 Lua 中用于文件 I/O 的标准库函数提供。这在前面的 Lua - 文件 I/O 教程中进行了讨论。
调试功能
Lua 提供了一个调试库,该库为我们提供了创建自己的调试器的所有基本函数。这在前面的 Lua - 调试 教程中进行了讨论。