lua遍歴table

942 ワード

Luaでよく使われる4中遍歴方式
for key, value in pairs(tbtest) do      
    XXX  
end  


          tbtest table     ,    tbtest key hash          。


for key, value in ipairs(tbtest) do      
    XXX  
end  


          tbtest  key    ,      1  ,ipairs   1      key     key     。


for i=1, #(tbtest) do      
    XXX  
end  


    ,     tbtest   key 1 value       ,     key 1      1      ,        1          ,            key


for i=1, table.maxn(tbtest) do      
    XXX  
end
       


推奨方法:
 --   
function pairsByKeys(t)      
    local a = {}      
    for n in pairs(t) do          
        a[#a+1] = n      
    end      
    table.sort(a)      
    local i = 0      
    return function()          
    i = i + 1          
    return a[i], t[a[i]]      
    end  
end


for key, value in pairsByKeys(tbtestAward) do      
 if nSeq <= key then          
  return key      
 end