Lua - 打印 table | 让 table 结构清晰可见

在开发中,无法直接打印出 table,当 table 的层次越来越深,写代码就变得吃力,且容易出错。网上查找了一下,有不少大佬分享了自己的打印 table 方法,但是大多数排版都不是我喜欢的类型,所以借鉴了一下经验,自己写了一个。

我想要的效果:

  1. 还原输入时的格式,写的时候是什么格式,输出也是什么格式
  2. 去除多余逗号
  3. 子项不是 table 的 table 显示成一行
  4. 允许打印非 table 的其他数据类型
  5. 函数返回一个格式化的文本,而非直接打印出来

代码如下:

--[[
	* 打印 table
	* @param  {any} val     传入值
	* @return {str}         格式化后的文本
]]
function table.print (val)

	local function loop (val, keyType, _indent)
		_indent = _indent or 1
		keyType = keyType or "string"
		local res = ""
		local indentStr = "     " -- 缩进空格
		local indent = string.rep(indentStr, _indent)
		local end_indent = string.rep(indentStr, _indent - 1)
		local putline = function (...)
			local arr = { res, ... }
			for i = 1, #arr do
				if type(arr[i]) ~= "s
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值