在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
先看一段简单的代码: local mytable = { 1, 2, aa = "abc", subtable = {}, 4, 6 } --for循环1 print("for --- index") for i=1,#mytable do print(i) end --for循环2 print("for ---- index-value") for i,v in ipairs(mytable) do print(i,v) end --for循环3 print("for ---- key-value") for k,v in pairs(mytable) do print(k,v) end 输出结果: for --- index 1 2 3 4 for ---- index-value 1 1 2 2 3 4 4 6 for ---- key-value 1 1 2 2 3 4 4 6 subtable table: 0x7f82d8d07660 aa abc 3种for循环的结果各不相同,我们这里对后两种进行一下比较。
看一下,关于pairs和ipairs的定义:
例如: local mytable2 = { [2] = "b", [3] = "c" } for i,v in ipairs(mytable2) do print(i,v) end 这里什么都不会输出,当迭代key=1的键值对时,value=nil,直接跳出;
所以:
所以要根据不同的需求,使用不同的方法。
|
请发表评论