美文网首页
lua练习23-实现pairs和ipairs

lua练习23-实现pairs和ipairs

作者: GameObjectLgy | 来源:发表于2020-10-15 00:25 被阅读0次
--实现ipairs和pairs功能
--pairs 无序遍历
--ipairs 以1递增遍历

require("LuaUitl")

local function MyIPairsIter(table, i)
    i = i + 1
    local value = table[i]
    if value then
        return i, value
    end
end

local function MyIPairs(table)
    return  MyIPairsIter, table, 0
end

local PairsIter = function (table, key)
    return next(table, key)--lua nei内置函数
end

local function Mypairs(table)
    return PairsIter, table, nil
end


---test
TestTable0 = {1, 2, 3, 6, ["1"] = "a"}
TestTable1 = {1, 2, 4, 3, 5, 8}
TestTable2 = {"2", ["4"] = "12", [1]= 5, {8, "aa"}}

-- for key, value in Mypairs(TestTable1) do
--     print(key, value)
-- end
-- print("----------------------")
-- for key, value in Mypairs(TestTable2) do
--     print(key, value)
-- end
-- print("||||||||||||||||||||||")
-- for key, value in pairs(TestTable2) do
--     print(key, value)
-- end

for key, value in ipairs(TestTable0) do
    print(key, value)
end
print("---------------------------")
for key, value in MyIPairs(TestTable0) do
    print(key, value)
end

相关文章

  • lua练习23-实现pairs和ipairs

  • 【Lua】(3)一些常用函数

    print(...)函数打印内容。 pairs(t)和ipairs(t)函数pairs()和ipairs()都可以...

  • lua 拾遗一:pairs

    pairs 和ipairs require和dofile pairs 和 ipairs 结果是:(是没有顺序的)1...

  • lua的pairs和ipairs

    一句话:pairs用来遍历字典,ipairs用来遍历数组。看如下示例: `function testpair()l...

  • Lua小计,ipairs 和 pairs

    最近重新拾起了lua,发现语法几乎忘光了,记录一下这俩的遍历的区别。话不多说,上代码 输出为 从上图可以看出,ip...

  • Lua pairs与ipairs区别

  • Lua pairs与ipairs区别

    标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的...

  • Lua base ipairs()

    前言 今天来看一个老朋友,这个函数在我们使用刚开始学习lua的时候基本就使用过,通常就是在遍历table的时候使用...

  • for 循环的使用

    1、基本使用https://www.runoob.com/lua/lua-for-loop.html2、pairs...

  • Lua base pairs()

    前言 今天这个函数也是涉及到遍历功能的,与函数ipairs()是同胞兄弟,但是有一点点区别,并且和上一章所讲的ne...

网友评论

      本文标题:lua练习23-实现pairs和ipairs

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