循环除了 for i=1,#t,还有迭代器。数组用 ipairs,字典用 pairs。
local t = {1, 2, 3, 4, 5}
for i = 1, #t do
print(i, t[i], type(t[i]))
end
for k, v in ipairs(t) do
print(k, v)
end
k = 主键(隐式 1,2,3…)v = 值数组里混了空洞时,ipairs 可能只打出前面几项。
for k, v in pairs(t) do
print(k, v)
end
pairslocal t = { name = "张三", age = 18, sex = "男" }
for k, v in pairs(t) do
print(k, v)
end
每次运行顺序可能不同:男/18/张三 会乱跳。
pairs 遍历堆时“谁离得近先取谁”,所以无序。ipairs 按 1、2、3 连续走,所以有序且快。
能确定是数组 → ipairs;字典/不确定 → pairs。
print(type(123)) -- number
print(type("你好")) -- string
print(type(nil)) -- nil
print(type(true)) -- boolean
print(type(function() end)) -- function
print(type({})) -- table
今日练习:造含空洞数组,对比 ipairs 与 pairs;再用 pairs 遍历字典,运行三次看顺序。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
循环除了 for i=1, t ,还有 迭代器 。数组用 ipairs ,字典用 pairs 。 一、回顾 for 循环 二…
模块就是 工具箱 。后端命令八百多个,记不住很正常——把自己常用的封装起来,按名字调用。 一、include 与 requi…
会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…
与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…
判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …
表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…