Lua 语法速查
共 29 条 Lua 常用语法,覆盖基础语法、控制与函数、table 操作、标准库、命令行五组 内容。支持搜索与分类筛选,点击即可复制。
基础语法
默认全局变量,建议用 local。
| 语法 / 命令 | 说明 |
|---|---|
| local 局部变量与全局变量 | |
| 字符串拼接用 .. | |
| 唯一数据结构 table(数组 + 字典) | |
| 单行 -- 与多行注释 | |
| nil 表示不存在 | |
| 类型转换(tonumber / tostring) |
控制与函数
分支、循环与函数。
| 语法 / 命令 | 说明 |
|---|---|
| 条件分支(then/end) | |
| 数值 for | |
| 遍历 table(pairs / ipairs) | |
| while 循环 | |
| 定义函数 | |
| 匿名函数 | |
| 方法定义(: 自带 self) |
table 常用操作
table 是核心数据结构。
| 语法 / 命令 | 说明 |
|---|---|
| 尾部插入 / 移除 | |
| 排序(可传比较函数) | |
| 数组拼接成字符串 | |
| 数组长度(对含空洞的 table 不可靠) | |
| 按顺序遍历数组部分 | |
| 访问字典字段 |
标准库
string / math / io 等。
| 语法 / 命令 | 说明 |
|---|---|
| 字符串库(可用 s:upper() 语法糖) | |
| 数学库 | |
| 文件读写 | |
| 时间与日期 | |
| 受保护调用,捕获错误 | |
| 加载模块 |
命令行
运行与包管理。
| 语法 / 命令 | 说明 |
|---|---|
| 运行脚本 | |
| 直接执行一行代码 | |
| 执行后进入交互模式 | |
| 安装第三方模块(LuaRocks) |
使用说明
Lua 语法速查:基础语法、控制与函数、table 操作、标准库、命令行;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、控制与函数、table 常用操作、标准库、命令行。
- 点「语法 / 命令」列复制片段,替换变量与 table 名。
- 局部变量显式加 local,避免污染全局。
- 遍历数组用 ipairs,遍历字典用 pairs。
常见问题
- 为什么建议用 local?
- 不加 local 的变量是全局变量,容易互相污染、性能也更差。默认用 local,作用域清晰、访问更快,只有在确需全局共享时才用全局。
- table 既是数组又是字典吗?
- 是的。Lua 只有一种复合结构 table,既可按整数索引当数组,也可按键当字典。用 #t 取「数组部分」长度,含空洞时要小心。
- ipairs 和 pairs 有什么区别?
- ipairs 从索引 1 开始按顺序遍历数组部分,遇到 nil 停止;pairs 遍历所有键值对(顺序不保证)。数组用 ipairs,字典用 pairs。
- 怎么捕获错误?
- 用 pcall(fn) / xpcall(fn, handler) 做受保护调用,返回状态与错误信息;避免直接调用可能出错函数导致整个程序中断。
延伸阅读
相关工具
CKV
Checkov 速查
checkov -d / --skip-check / baseline 速查
WG
WireGuard 速查
wg genkey / wg-quick up / AllowedIPs 速查
TSC
Tailscale 速查
tailscale up / status / --advertise-routes 速查
HAPI
hapi 速查
Hapi.server / server.route / Joi 速查
RSTFY
restify 速查
createServer / server.get / bodyParser 速查
SAILS
Sails.js 速查
sails lift / Waterline / blueprints 速查