源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Lua中ipair和pair的区别

  • 时间:2021-10-25 04:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Lua中ipair和pair的区别
先看看官方手册的说明吧:
[url=http://www.1sucai.cn/article/55394.htm]Lua简明教程[/url],你知道table就是键值对的数据结构。 而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。 请看个例子。
[u]复制代码[/u] 代码如下:
tb = {"oh", [3] = "god", "my", [5] = "hello", [6] = "world"} for k,v in ipairs(tb) do      print(k, v) end
输出结果就是:
[u]复制代码[/u] 代码如下:
1       oh 2       my 3       god
因为tb不存在tb[4],所以遍历到此为止了。
[u]复制代码[/u] 代码如下:
for k,v in pairs(tb) do      print(k, v) end
输出结果:
[u]复制代码[/u] 代码如下:
1       oh 2       my 3       god 6       world 5       hello
我们都能猜到,将输出所有的内容。然而你发现输出的顺序跟你tb中的顺序不同。 如果我们要按顺序输出怎么办?办法之一是:
[u]复制代码[/u] 代码如下:
for i = 1, #tb do      if tb[i] then           print(tb[i])      else end
当然,仅仅是个数组的话,ipairs也没问题。 以上(为什么不少回答会以「以上」收尾?,这里就是结束的意思吧)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部