Lua 中 ipairs 与 pairs 的区别
首先,ipairs和pairs都是Lua中的迭代函数,都可用来迭代table中的数据。
但是,两者的迭代方式不同。这个在使用时需要特别注意,ipairs函数只迭代了table 中的【数据元素】,而pairs函数可以迭代table中的【所有元素】
下面是我通过在Lua环境中通过测试的实例代码:
1 local myTable = { 2 "Monday", 3 ["Tues"] = "Tuesday", 4 "Wednesday", 5 ["Thur"] = "Thursday", 6 "Friday", 7 ["Satu"] = "Saturday", 8 "Sunday" 9 } 10 11 -- /*print out */ 12 13 -- 1-Monday 14 -- 2-Wednesday 15 -- 3-Friday 16 -- 4-Sunday 17 for i,v in ipairs(myTable) do 18 print(string.format("%s-%s",i,v)) 19 end 20 21 22 23 -- /*print out */ 24 25 -- 1-Monday 26 -- 2-Wednesday 27 -- 3-Friday 28 -- 4-Sunday 29 -- Satu-Saturday 30 -- Thur-Thursday 31 -- Tues-Tuesday 32 for k,v in pairs(myTable) do 33 print(string.format("%s-%s",k,v)) 34 end