美文网首页
Lua pairs与ipairs区别

Lua pairs与ipairs区别

作者: 曾令伟 | 来源:发表于2016-07-04 15:53 被阅读774次

    标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的(string.gmatch)等等

    pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil;

    但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的第一个不是整数的key

    local tabww = {}

    tabww[1] = nil

    tabww[2] = "wwwwwwww"

    tabww[3] = "www"

    tabww[4] = 3

    tabww[5] = 20

    table.insert( tabww, 30 )

    for k, v in pairs(tabww) do

              print("测试pairs:", k, v )

    end

    for k, v in ipairs(tabww) do

             print("测试ipairs:", k, v )

    end

    pairs 能遍历输出每个元素      

    ipairs 则不行   碰到第一个值等于nil   就直接退出遍历了

    相关文章

      网友评论

          本文标题:Lua pairs与ipairs区别

          本文链接:https://www.haomeiwen.com/subject/mvocjttx.html