当前位置: 首页 > 编程笔记 >

使用lua实现php的print_r()函数功能

澹台锐
2023-03-14
本文向大家介绍使用lua实现php的print_r()函数功能,包括了使用lua实现php的print_r()函数功能的使用技巧和注意事项,需要的朋友参考一下

之前写了一些类似php的函数,下面再来一个print_r()函数,代码如下:


function pr (t, name, indent)   

    local tableList = {}   

    function table_r (t, name, indent, full)   

        local id = not full and name or type(name)~="number" and tostring(name) or '['..name..']'   

        local tag = indent .. id .. ' = '   

        local out = {}  -- result   

        if type(t) == "table" then   

            if tableList[t] ~= nil then   

                table.insert(out, tag .. '{} -- ' .. tableList[t] .. ' (self reference)')   

            else  

                tableList[t]= full and (full .. '.' .. id) or id  

                if next(t) then -- Table not empty   

                    table.insert(out, tag .. '{')   

                    for key,value in pairs(t) do   

                        table.insert(out,table_r(value,key,indent .. '|  ',tableList[t]))   

                    end   

                    table.insert(out,indent .. '}')   

                else table.insert(out,tag .. '{}') end   

            end   

        else  

            local val = type(t)~="number" and type(t)~="boolean" and '"'..tostring(t)..'"' or tostring(t)   

            table.insert(out, tag .. val)   

        end   

        return table.concat(out, '\n')   

    end   

    return table_r(t,name or 'Value',indent or '')   

end   

function print_r (t, name)   

    print(pr(t,name))   

end   

  

local a = {x=1, y=2, label={text='hans', color='blue'}, list={'a','b','c'}}   

  

print_r(a)  

 类似资料:
  • 本文向大家介绍使用lua实现php的var_dump()函数功能,包括了使用lua实现php的var_dump()函数功能的使用技巧和注意事项,需要的朋友参考一下 习惯了php中的var_dump()函数,而如今写lua的时候总习惯使用var_dump()函数,于是就自己动手写了一个类似功能的var_dump()函数。

  • 本文向大家介绍Lua中实现php的strpos()以及strrpos()函数,包括了Lua中实现php的strpos()以及strrpos()函数的使用技巧和注意事项,需要的朋友参考一下 在来写一个lua中实现php的strpos()函数,查找某个字符串在指定字符串首次出现的位置,其实lua中也为我们提供了这样的函数使用string.find()即可获得,下面我们还是简单写一个函数,代码如下: 测

  • 本文向大家介绍Lua中实现sleep函数功能的4种方法,包括了Lua中实现sleep函数功能的4种方法的使用技巧和注意事项,需要的朋友参考一下 一个不幸的消息是Lua中没有内置sleep函数,我们需要DIY。有4种方法可以实现sleep函数,如下: 方法1 方法2 方法3 方法4

  • 本文向大家介绍Lua中实现StringBuffer功能,包括了Lua中实现StringBuffer功能的使用技巧和注意事项,需要的朋友参考一下 在Lua中,字符串是一个常量,如果用字符串连接符“..”把2个字符串连接起来,例如first_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个

  • 本文向大家介绍php实现excel中rank函数功能的方法,包括了php实现excel中rank函数功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现excel中rank函数功能的方法。分享给大家供大家参考。具体分析如下: sql语句实现排名是像这样的如: 总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的, 而Excel函

  • 本文向大家介绍php 使用array函数实现分页,包括了php 使用array函数实现分页的使用技巧和注意事项,需要的朋友参考一下 代码很简单,就不多废话了。 以上就是使用array函数实现分页的核心代码了,希望大家能够喜欢。