素材阁

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 操作、标准库、命令行;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础语法、控制与函数、table 常用操作、标准库、命令行。
  2. 点「语法 / 命令」列复制片段,替换变量与 table 名。
  3. 局部变量显式加 local,避免污染全局。
  4. 遍历数组用 ipairs,遍历字典用 pairs。

常见问题

为什么建议用 local?
不加 local 的变量是全局变量,容易互相污染、性能也更差。默认用 local,作用域清晰、访问更快,只有在确需全局共享时才用全局。
table 既是数组又是字典吗?
是的。Lua 只有一种复合结构 table,既可按整数索引当数组,也可按键当字典。用 #t 取「数组部分」长度,含空洞时要小心。
ipairs 和 pairs 有什么区别?
ipairs 从索引 1 开始按顺序遍历数组部分,遇到 nil 停止;pairs 遍历所有键值对(顺序不保证)。数组用 ipairs,字典用 pairs。
怎么捕获错误?
用 pcall(fn) / xpcall(fn, handler) 做受保护调用,返回状态与错误信息;避免直接调用可能出错函数导致整个程序中断。

延伸阅读

相关工具