Lua高级递归 - 获取子元素的子元素

我有类似这样的代码

local tbl = {
    IsNativeUI = true
}

tbl2 = {
    IsNativeUI = false,
    _Children = {},

    GetChildren = function(self)
        return self._Children
    end

}

tbl3 = {
    IsNativeUI = false,
    _Children = {},

    GetChildren = function(self)
        return self._Children
    end
}

tbl4 = {
    IsNativeUI = false,
    _Children = {},

    GetChildren = function(self)
        return self._Children
    end
}

table.insert(tbl2._Children, tbl3)
table.insert(tbl3._Children, tbl4)

function GetAncestry(tbl)
    -- 获取所有table的子元素及其子元素以此类推,直到IsNativeUI为false

end

我已经花了几个小时,但是我无法完成。我想做的是当我调用GetAncestry(tbl4)时,它将获取所有子元素的子元素,直到IsNativeUI为false。

如果有人能帮我,请帮帮我,非常感谢。

编辑:(_Children表也可以为空)

点赞