第三篇:Lua For循环之乱象

tableNum = {
     1, 3, 4, "a", 'c', [6] = 5, ['a'] = 6,
     award= 
     {
        no = 100,
        name = 'zhangshan',
        bir = '100-110-10',
        time = '2014-8-7'
     }
    }
    
            
    --遍历表,只遍历整形的
    function InPairs(table)
      for key, var in ipairs(table) do
      if type(var) == 'table' then
        InPairs(var)
      else
        print(key.. ',' ..var)
      end
      end
    end
    --输出
    --[[
        1,1
        2,3
        3,4
        4,a
        5,c
        6,5
    ]]

    --遍历表中所欲元素
    function Pairs(table)
        for key, var in pairs(table) do
        if type(var) == 'table' then
            Pairs(var)
        else
        print(key.. ',' ..var)
        end
      end
    end
    
    --输出
    --[[
        1,1
        2,3
        3,4
        4,a
        5,c
        a,6
        6,5
        no,100
        bir,100-110-10
        name,zhangshan
        time,2014-8-7
    ]]

    Pairs(tableNum);
    print('--------------------')
    InPairs(tableNum);

    for var=1, 10, 2 do
        print(var)
    end
    
    --输出
    --[[
        1
        3
        5
        7
        9
    ]]

    -- # 表示的是获取表的长度,从1开始,到自然增长数的结尾
    for var=1, #(tableNum) do
        print(tableNum[var])
    end
        
    --输出
    --[[
        1
        3
        4
        a
        c
        5
    ]]    

 

posted @ 2014-08-07 15:20  p_towin  阅读(629)  评论(0编辑  收藏  举报