很多人第一次看到 local t = {} 会愣住:这就完了?两个花括号,什么都没写,能干什么?
本课互动训练:专属动画 + 选择题测验。 打开 第 01 课 · 动画闯关,先看动画,再完成 3 道选择题。
配套动画实验室:堆 / 栈 / 引用 / # 号可点可演。 打开 Lua 表 · 堆栈内存动画实验室,对照本文点「播放当前演示」。答案是:Lua 的一切复杂结构,几乎都是从这两个花括号长出来的。今天先把「表」当成一个收纳盒,看懂它怎么装东西、怎么拿东西。
local t = {}
print(type(t)) --> table
type(t) 返回 table,说明这变量的类型是「表」。空表不是没有用,它只是还没往里放东西的盒子。后面写功能时,先建空表再往里塞数据,是标准起手式。
把表想成收纳盒,里面一格一格是抽屉。Lua 默认从 1 开始编号:
local t = {1, 2, 3, 4, 5}
print(t[1]) --> 1
print(t[3]) --> 3
print(t[5]) --> 5
t[1] 就是「第 1 个抽屉」。注意:不是从 0 开始,这和很多语言不一样,新手最容易在这里栽跟头。
数字能放,字符串当然也能:
local t = {"张三", 18, "男"}
print(t[1]) --> 张三
print(t[2]) --> 18
甚至同一个表里混着放也没问题。Lua 不会强制你「一列只能放一种类型」——它信任你知道自己在干什么。
后面写 NPC、背包、技能、配置、循环逻辑,绕来绕去都在玩表。把表玩熟,后面学迭代器、模块、封装会像踩着棉花往下走;表不熟,后面每一步都在补前面的坑。
今日练习:建一个表,存你的名字、年龄、性别,用 print 分别打出来。再故意改成从 0 取值,看看打印出什么,记住「Lua 从 1 开始」。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…
与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…
判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …
表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…
「我只改了 b,a 怎么变了?」——这是表引用问题的标准嚎叫。今天把钥匙和锁彻底讲清。 本课互动训练 :专属动画 + 选择题…
理论够了,进游戏干一票:用一张表,存下角色的名、级、包、属性,并用它驱动「给我装备」。 本课互动训练 :专属动画 + 选择题…