Lua:如何改进特定表深度的打印表
这是我的自定义函数:
function scope(tbl, depth)
if (depth > 0) then
for k, v in pairs(tbl) do
if (type(v) ~= "table") then
print(v)
else
scope(v, depth - 1)
end
end
end
end
这是用法: let
stuff = {
fruit = {
yellow = {
"Banana"
}, -- depth = 3
red = {
"Apple"
} -- depth = 3
},
city = {
"Toronto"
}, -- depth = 2
name = {
"Claudia"
} -- depth = 2
}
scope(stuff, 2)
returns
Toronto
Claudia
否则, scope(stuff, 3)
returns
Banana
Apple
Toronto
Claudia
建议如何改进它?如果像这里一样,我指定深度值为 1 或大于 3 的数字(表的深度),则可能会插入一些显示 nil
的代码。
This is my custom function:
function scope(tbl, depth)
if (depth > 0) then
for k, v in pairs(tbl) do
if (type(v) ~= "table") then
print(v)
else
scope(v, depth - 1)
end
end
end
end
This is the usage: let
stuff = {
fruit = {
yellow = {
"Banana"
}, -- depth = 3
red = {
"Apple"
} -- depth = 3
},
city = {
"Toronto"
}, -- depth = 2
name = {
"Claudia"
} -- depth = 2
}
scope(stuff, 2)
returns
Toronto
Claudia
Otherwise, scope(stuff, 3)
returns
Banana
Apple
Toronto
Claudia
Advice on how to improve it? Maybe insert some code that displays nil
if, as here, I specify depth value of 1 or a number greater than 3 (the depth of the table).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论