首页 > 其他分享 >lua 递归遍历table所有元素

lua 递归遍历table所有元素

时间:2023-02-25 19:45:50浏览次数:36  
标签:遍历 end .. prt lua rst table TableHeapStr type

 

TableHeapStr=""
CurrentTableName=""
function prt(x)
    local rst=""

    if type(x)=='number' or type(x)=='string' or type(x)=='function' or type(x)=='nil' then 
         rst=rst..tostring(x) ..' '
    end

    if type(x)=='table' and string.find(TableHeapStr,tostring(x))==nil then
        TableHeapStr=TableHeapStr..tostring(x)
        rst=rst..'\n'..CurrentTableName ..'{'
        for i,k in pairs(x) do
            if type(i)=='number' then
             rst=rst..prt(k) ..'  '
            else
             rst=rst..i..'= '..prt(k) ..'  '
             end
         CurrentTableName=i
        end
        rst=rst..'}\n'
    end
    return rst
end

testList={1,2,{33,44,55,{66,77,88} ,},prt}
b=prt(_G)
print( b )

 

标签:遍历,end,..,prt,lua,rst,table,TableHeapStr,type
From: https://www.cnblogs.com/chenyalin/p/17155178.html

相关文章

  • Go从入门到精通——常见报错: C compiler "gcc" not found: exec: "gcc": executable f
    常见报错:Ccompiler"gcc"notfound:exec:"gcc":executablefilenotfoundin%PATH%一、背景操作系统:windows10专业版Go版本:goversiongo1.19.4windows/a......
  • 二叉树的遍历/递归/非递归/翻转
    二叉树的定义//定义一个二叉树节点structBiTreeNode{intvalue;structBiTreeNode*left;structBiTreeNode*right;};先序遍历(递归的形式)voidpreOrderT......
  • for in (var key in Obj)遍历JS对象/数组
    这个方法还可以遍历数组,就放在一起写了。letresult=function(obj){for(letkeyinobj){returnfalse;//若不为空,可遍历,返回false}returntrue;}conso......
  • CompletableFuture 异步编排
    业务场景查询商品详情页的逻辑比较复杂,有些数据还需要远程调用,必然需要花费更多的时间。假如商品详情页的每个查询,需要如下标注的时间才能完成那么,用户需要5.5s后才能看......
  • Lua字节数组与float互转
    纪念那些在双流工厂奋斗的日夜,防爆表屏项目是一次很成功的实践,包括设计的页面堆栈和跳转机制历史回退机制页面密码保护机制 串口分包机制,运用综合所学来搭建的屏上独......
  • 数据结构基础—二叉树的非递归遍历和基本操作
    数据结构基础—二叉树的非递归遍历和基本操作非递归遍历先序//非递归先序遍历二叉树voidzhongxu(BiTreeT){BiTreestack[MAX];//模拟栈 BiTreenode;int......
  • Qt遍历目录下的文件
    Qt遍历目录下的文件 QList<QString>getAllPCDFileName(QStringdirPath){QList<QString>list1;QDirdir1(dirPath);dir1.setFilter(QDir::Files|......
  • 关于二叉树的前序、中序、后序三种遍历
    二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。为啥叫这个名字?是根据根节点的顺序命名的。比如上图正常的一个满节点,A:根节点、B:左节点、C:右节点,前序顺序是ABC(根......
  • wine-stable
    通过wine官网找到安装方法1 brewtaphomebrew/cask-versions2 brewinstall--cask--no-quarantine(selectedwinepackage)wine-stable,wine-develorwine-stag......
  • java HashSet集合存储学生对象并遍历
         ......