CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
Lua基础Table长度

# 号怎么数表:连续才作数,断了就翻车

2026-10-18 00:24 作者:吴大圣老师 Lua基础Table长度

#t 是新手必踩的坑。它看起来只是「数个数」,实际上脾气很挑。

本课互动训练:专属动画 + 选择题测验。 打开 第 03 课 · 动画闯关,先看动画,再完成 3 道选择题。
配套动画实验室:堆 / 栈 / 引用 / # 号可点可演。 打开 Lua 表 · 堆栈内存动画实验室,对照本文点「播放当前演示」。

一、标准数组:一数一个准

lua
local t = {1, 2, 3, 4, 5}
print(#t)  --> 5

长度是 5,没毛病。发放 5 件装备、循环 5 次,都靠它。

二、主键断档,# 开始犯迷糊

lua
local t = {}
t[0] = 1
t[2] = 3
t[5] = 2
print(#t)  --> 结果因版本而异,常见是 2 或 1

课堂上实测时,5.1 / 5.3 / 5.4 对「断档数组」的 # 结果没有统一标准。这不是你写错了,是 Lua 本身对「不连续序列」就没承诺。

结论:# 只对连续数组可靠。 主键从 1 开始、一个不漏,才用 #。

三、字典表不要用 #

lua
local t = {name = "张三", age = 18}
print(#t)  --> 0

字典的主键是字符串(name、age),不是 1、2、3,# 数的是「连续数字主键」,所以是 0。字典要数个数,请用迭代器(下下节预告)。

四、工程上的规矩

真正写版本时,不要故意把数组主键写断。要么:

  • 数组:1..n 连续,用 #
  • 字典:字符串主键,用 pairs 遍历

混着来还用 #,就是在给自己埋雷。

五、末尾加一个元素

lua
local t = {1, 2, 3}
t[#t + 1] = 4   --> 变成 {1,2,3,4}

#t + 1 就是「下一个空抽屉」。删中间元素会破坏连续,尽量用「交换到末尾再删」的技巧(后面增删改查篇细讲)。

今日练习:造一个连续数组打印 #t;再造一个主键断开的表,对比 #t。再写 {name=...} 字典,验证 #t 是 0。


课堂互动训练

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

Lua实战NPC

NPC 界面与 GM 小工具:say / button / link 传参

会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…

2026-10-18 01:01 吴大圣老师
Lua基础逻辑运算

与或非:and / or / not 与短路真相

与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…

2026-10-18 01:01 吴大圣老师
Lua基础判断

判断分支实战:if / elseif / else 与防卫语句

判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …

2026-10-18 01:01 吴大圣老师
Lua基础Table

从表走到迭代:pairs/ipairs 预告与三大坑

表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…

2026-10-18 00:25 吴大圣老师
Lua基础Table

表是引用:改了别人,怎么就跟着变了

「我只改了 b,a 怎么变了?」——这是表引用问题的标准嚎叫。今天把钥匙和锁彻底讲清。 本课互动训练 :专属动画 + 选择题…

2026-10-18 00:25 吴大圣老师
Lua实战Table

玩家背包实战:用表搭一个角色数据库

理论够了,进游戏干一票:用一张表,存下角色的名、级、包、属性,并用它驱动「给我装备」。 本课互动训练 :专属动画 + 选择题…

2026-10-18 00:25 吴大圣老师