lua for循环

Lua 的table遍历 【转】

烈酒焚心 提交于 2019-11-26 18:32:43
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://rangercyh.blog.51cto.com/1444712/1032925 当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key , value in pairs(tbtest) do XXX end for key , value in ipairs(tbtest) do XXX end for i=1, #(tbtest) do XXX end for i=1, table .maxn(tbtest) do XXX end 前两种是泛型遍历,后两种是数值型遍历。当然你还会说lua的table遍历还有很多种方法啊,没错,不过最常见的这些遍历确实有必要弄清楚。 这四种方式各有特点,由于在工作中我几乎每天都会使用遍历table的方法,一开始也非常困惑这些方式的不同,一段时间后才渐渐明白,这里我也是把自己的一点经验告诉大家,对跟我一样的lua初学者也许有些帮助(至少当初我在写的时候在网上就找了很久,不知道是因为大牛们都认为这些很简单,不需要说,还是因为我笨,连这都要问)。 首先要明确一点,就是lua中table并非像是C/C++中的数组一样是顺序存储的