lua学习笔记 4 迭代法遍历 table,当Table中含Table时,递归输出

这篇博客介绍了如何使用迭代法遍历Lua中的table,特别是当table内包含嵌套table时,通过递归函数实现完整输出。文章强调了pairs遍历的顺序并不保证与table内的顺序一致,并对比了Lua中的table与Java HashMap、C++ Map的相似性。此外,还提到了Lua的数据类型判断及pairs、ipairs的区别。
摘要由CSDN通过智能技术生成

迭代法遍历 table,当Table中含Table时,递归调用。打印Table中 K, V值


通过type(arg) 判断当前类型


table1 = {
	name = "Android Developer",
	email = "hpccns@gmail.com",
	url = "http://blog.csdn.net/hpccn",
	quote = [[
	There are 
	10 types of pepole
	who can understand binary.
	]],--多行文字
	embeddedTab = {
		em1 = xx,
		x =0,
		{x =1, y =2 } -- 再内嵌table
	}-- 内嵌table 
}

tab = "    "
function print_table(t, i)
	local indent ="" -- i缩进,当前调用缩进
	for j = 0, i do 
		indent = indent .. tab
	end
	for k, v in pairs(t) do 
		if (type(v) == "table") then -- type(v) 当前类型时否table 如果是,则需要递归,
			print(indent .. "< " .. k .. " is a table />")
			print_table(v, i + 1) -- 递归调用
			print(indent .. "/> end table ".. k .. "/>")
		else -- 否则直接输出当前值
				
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值