「增、删、改、查」四个字,是操作数据的总纲。数组表先把这四招练熟。
本课互动训练:专属动画 + 选择题测验。 打开 第 07 课 · 动画闯关,先看动画,再完成 3 道选择题。
配套动画实验室:堆 / 栈 / 引用 / # 号可点可演。 打开 Lua 表 · 堆栈内存动画实验室,对照本文点「播放当前演示」。local t = {1, 2, 3, 4}
for i = 1, #t do
print(t[i])
end
查就是取值。写功能时先能「看得到」数据,再谈改。
local t = {1, 2, 3, 4}
t[5] = 5
-- 或者更稳:
t[#t + 1] = 5
#t + 1 永远指向下一个空位,不怕你不知道现在有几个。
t[3] = "张三" -- 第 3 格改成张三
直接赋值就是改。没有「特殊语法」,改和「创建」是同一个动作。
t[2] = nil -- 删掉第 2 格
坑:中间删掉后,数组不再连续,#t 可能不准,后面的元素也不会自动往前挪。
稳妥删法(交换到末尾再删):
local function remove_at(t, idx)
local n = #t
t[idx] = t[n]
t[n] = nil
end
顺序不重要时用这招;顺序重要就 table.remove(t, idx)(Lua 自带,后面篇幅细讲)。
local t = {name = "张三"}
t.age = 18 -- 增
t.name = "李四" -- 改
print(t.age) -- 查
t.name = nil -- 删
点号一路走通。注意字典删掉后总个数怎么数?用 pairs 迭代(下一篇预告)。
以后无论是操作背包、配置表还是接口数据,稳定套路都是:
先把这个闭环练成本能,上层框架怎么变你都不慌。
今日练习:数组 {10,20,30} 做四件事:末尾加 40、把 20 改成 99、删掉 30、循环打印最终结果。字典再做一遍同样四件事。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…
与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…
判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …
表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…
「我只改了 b,a 怎么变了?」——这是表引用问题的标准嚎叫。今天把钥匙和锁彻底讲清。 本课互动训练 :专属动画 + 选择题…
理论够了,进游戏干一票:用一张表,存下角色的名、级、包、属性,并用它驱动「给我装备」。 本课互动训练 :专属动画 + 选择题…