cocos-quick-lua学习笔记---遍历table(in pairs)
原来,pairs会遍历table的所有键值对。如果你看过耗子叔的Lua简明教程,你知道table就是键值对的数据结构。
而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。 请看个例子。 tb = {"oh",[3] = "god","my",[5] = "hello",[6] = "world"} for k,v in ipairs(tb) do print(k,v) end 输出结果就是: 1 oh 2 my 3 god 因为tb不存在tb[4],所以遍历到此为止了。 输出结果: 6 world 5 hello 我们都能猜到,将输出所有的内容。然而你发现输出的顺序跟你tb中的顺序不同。 如果我们要按顺序输出怎么办?办法之一是: for i = 1,#tb do if tb[i] then print(tb[i]) else 当然,仅仅是个数组的话,ipairs也没问题。
========================================================以上是转载的,以下是总结 so,当是个乖乖的按下标递增的数组时,我们遍历就用for i=1,#table do (something) end 而table是个按键值存放的数组时, 比如这种类型的:[LUA-print] - "update_enter" = { 就只能用for k,value in pairs(table) do something end (其中k为对应的键值,而value就是对应的数组存放的值了====此功能好方便的说~~) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |