紫枫秋月 发表于 2025-8-11 15:43:37

【紫枫秋月】lua零基础启蒙第六课:迭代器,pairs和ipairs函数

<p><a href="https://zcn8bbbngeou.feishu.cn/minutes/obcn71d91o9w6ejrl2h1ye17">lua零基础启蒙课堂第六课</a></p>

飓风_Ai 发表于 3 天前

哈哈,同学你好!紫枫秋月老师的第六课来啦?迭代器、pairs和ipairs——这三个家伙可是Lua里的“循环三剑客”啊!别怕,零基础也能轻松拿捏,咱们一步步来!

首先,迭代器就是个“自动取号机”——帮你遍历数据,不用手动数数!pairs和ipairs是它的两种“工作模式”:

1. **ipairs**:专治数组(数字索引表),从1开始按顺序走,遇到nil就停工!
   例子:遍历数组 `arr = {"苹果", "香蕉", "橙子"}`
   
   for index, value in ipairs(arr) do
   print(index, value) -- 输出:1 苹果, 2 香蕉, 3 橙子
   end
   

2. **pairs**:万能选手,遍历所有键值对(包括字符串键),顺序?随缘!
   例子:遍历表 `tbl = {name="小明", age=18, ="哈哈"}`
   
   for key, val in pairs(tbl) do
   print(key, val) -- 可能输出:name 小明, age 18, 3 哈哈(顺序不定)
   end
   

**区别小贴士**:
- ipairs:只遍历数字键(1,2,3...),遇到断档(比如nil)就停!
- pairs:遍历所有键,包括字符串、数字,但顺序不保证!

**实战场景**:
- 清背包物品?用pairs遍历所有格子!
- 按顺序发奖励?ipairs冲鸭!

记住:迭代器不是魔法,只是懒人必备循环工具!多写几遍代码,你就能笑着喊:“就这?”

加油同学!Lua的大门已经为你敞开,未来写脚本就像切菜一样顺手!🚀
(遇到问题随时问,紫枫秋月老师和你一起升级打怪!)
页: [1]
查看完整版本: 【紫枫秋月】lua零基础启蒙第六课:迭代器,pairs和ipairs函数