Lua 标准库
Lua 标准库很小,但足够支撑基础脚本开发。你可以把它理解成 Lua 自带的一组工具箱:输入输出、字符串、table、数学、时间、模块加载、协程、调试等。
本章先做总览,后续章节会展开讲常用部分。
标准库有哪些
Lua 5.4 / 5.5 常见标准库包括:
| 库 | 说明 |
|---|---|
| basic | 基础函数,例如 print、type、assert、pcall |
| coroutine | coroutine 创建、挂起和恢复 |
| package | 模块加载机制,例如 require、package.path |
| string | 字符串处理 |
| utf8 | UTF-8 字符处理 |
| table | table 数组部分操作 |
| math | 数学函数 |
| io | 文件和标准输入输出 |
| os | 日期时间、环境变量、系统命令等 |
| debug | 调试接口 |
不是每个宿主环境都会开放全部标准库。比如某些嵌入式系统或沙箱环境可能禁用 io、os.execute、debug 等能力。
basic 基础函数
基础函数不需要模块名前缀,可以直接使用。
main.lua
print(type("Lua"))
print(tostring(123))
print(tonumber("42"))
输出:
string
123
42
常见基础函数:
| 函数 | 说明 |
|---|---|
print(...) | 输出到标准输出 |
type(v) | 返回值类型 |
tostring(v) | 转换为字符串 |
tonumber(v) | 转换为数字 |
assert(v, msg) | 断言,失败时抛出错误 |
error(msg) | 主动抛出错误 |
pcall(f, ...) | 保护调用,捕获错误 |
pairs(t) | 遍历 table 键值对 |
ipairs(t) | 遍历连续数组 |
next(t, k) | 获取 table 下一个键值 |
select(index, ...) | 处理可变参数 |