Lua里实现将Table转为String输出,Debug神器

在Mac上缺少LuaStudio这样的调试工具,因此需要通过print来查看和调试Table数据。本文介绍了一种使用递归方法将Lua Table转换为有序字符串输出的方式,以帮助在没有专用调试工具的情况下更好地理解和追踪数据。
摘要由CSDN通过智能技术生成

在Windows下有LuaStudio工具可以调试查看数据,但在Mac上没有,所以只能通过print看数据,跟数据,所以需要一个能将Table像其他格式一样输出的方法。


我的思路是 将Table一层层剥开,并有层次感的一层层排列开来,所以利用递归层层深入。

代码如下

local printAll = function(target, params)
	local targetType = type(target)
	if targetType == "table" then
		local tip = params and params.tip or "This is a Table!^_<......................................"
		local cache = {[target] = "."}
		local isHead = false


		local function dump(t, space, level)
			local temp = {}
			if not isHead then
				temp = {tip}
				isHead = true
			end
			for k, v in pairs(t) do
				local key = tostring(k)
				if type(v) == "table" then
					table.insert(temp, string.format("%s+[%s]\n%s", string.rep(" ", level), key, dump(v, space, level + 1)))
				else
					table.insert(temp, string.forma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值