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  
posted @ 2013-09-09 14:55  Jerry_Wu  阅读(426)  评论(0编辑  收藏  举报