课时 6 · 表 Table 基础
课时 6 · 表 Table 基础(Lua 语言基础):掌握表作为数组与字典的用法。含可运行的示例代码、练习与验收要点,示例锁定 Lua 5.1,可在站内在线运行验证。
本课的代码可以就地复制;点代码块右上角的「运行这段」, 会带着这段代码打开 Lua 在线运行器 并直接跑出结果 (课程示例统一按 5.1 跑;运行器里也能切到 5.3)。
本课的代码跑在 996 引擎里,用到的是服务端接口(changeexp、 SetInt 这类),在线运行器里没有这些函数。 每个函数的签名都能在 文档检索 里按名字查到原文。
本课目标
- 掌握表作为数组与字典的用法。
知识讲解
table 是 Lua 唯一的复合数据结构,既可作数组也可作字典,还可嵌套。数组下标从 1 开始;# 运算符取数组长度(对连续整数键有效);pairs 遍历所有键值对,ipairs 只遍历从 1 开始的连续数组部分。
示例:表的创建与遍历
local bag = {'金创药', '木剑', '铁盔'} -- 数组
print(bag[1]) -- 金创药
print(#bag) -- 3
local player = { name = '战士', level = 10 } -- 字典
print(player.name, player['level']) -- 战士 10
for i, item in ipairs(bag) do
print(i, item)
end
练习任务
- 用表模拟背包数据结构:物品含名称、数量、类型三个字段,存放 3 件物品并遍历输出。
参考:背包数据结构
local bag = {
{ name = '金创药(小量)', count = 10, type = '药品' },
{ name = '木剑', count = 1, type = '武器' },
{ name = '铁矿', count = 50, type = '材料' },
}
for i, item in ipairs(bag) do
print(i, item.name, item.count, item.type)
end
本篇依据
- 《996 新三端 Lua 开发教学技术手册》课时 6
参数与取值以你本机版本的官方帮助文档为准,不同版本之间有过调整。