登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秒大刀 博客

好好学习 天天向上

 
 
 

日志

 
 
 
 

lua var_dump  

2008-10-25 01:06:55|  分类: Lua |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

--- @brief 调试时打印变量的值
--- @param data 要打印的字符串
--- @param [max_level] table要展开打印的计数,默认nil表示全部展开
--- @param [prefix] 用于在递归时传递缩进,该参数不供用户使用于
--- @ref http://dearymz.blog.163.com/blog/static/205657420089251655186/

function var_dump(data, max_level, prefix)
    if type(prefix) ~= "string" then
        prefix = ""
    end
    if type
(data) ~= "table" then
        print(prefix .. tostring(data))
    else
        print(data)
        if max_level ~= 0 then
            local
prefix_next = prefix .. "    "
            print(prefix .. "{")
            for k,v in pairs(data) do
                io.stdout:write(prefix_next .. k .. " = ")
                if type(v) ~= "table" or (type(max_level) == "number" and max_level <= 1) then
                    print(v)
                else
                    if
max_level == nil then
                        var_dump(v, nil, prefix_next)
                    else
                        var_dump(v, max_level - 1, prefix_next)
                    end
                end
            end

            print(prefix .. "}")
        end
    end
end

function vd(data, max_level)
    var_dump(data, max_level or 5)
end

推荐阅读:

2013-7-22
直接增加一个table.tostring方法也不错:

table.tostring = function(data)
function dump(data, prefix)
local str = tostring(data)
local prefix_next = prefix .. " "
str = str .. "\n" .. prefix .. "{"
for k,v in pairs(data) do
str = str .. "\n" .. prefix_next .. k .. " = "
if type(v) == "table" then
str = str .. dump(v, prefix_next)
else
str = str .. tostring(v)
end
end
str = str .. "\n" .. prefix .. "}"
return str
end
return dump(data, "")
end


  评论这张
 
阅读(2772)| 评论(2)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018