Convert lua table to path

Viewed 38

This is my var in lua:

local tbl = {
    { 1, 2, 3, 4 },
    { 3, {
        { 4, 5 },
        { 6, {
            7,
            {
                8,
                9,
            },
        } },
        { 10, 11 },
    } },
}

local path = { 2,2,3,1 }

How can use tbl variable with local path:

print(tbl[2][2][3][1])

Thanks in advance!

1 Answers

Just iterate over your path:

function get(t, path)
    for _,key in ipairs(path) do
        t = t[key]
    end
    return t
end

print(get(tbl, path)) will print 10

You may want additional error handling, e.g. if a path does not exist.

Related