访问嵌套表中的一个表字段(nested)Lua。

我有一个看起来像这样的表:

tbm = { -- facedir indexed (+1)
       { -- facedir = 0
           { -- first line
                { X = -1, Y =  2, Z =  1 },
                { X =  0, Y =  2, Z =  1 },
                { X =  1, Y =  2, Z =  1 }
            },
        { -- second line
            { X = -1, Y =  1, Z =  1 },
            { X =  0, Y =  1, Z =  1 },
            { X =  1, Y =  1, Z =  1 }
        },
        { -- third line
            { X = -1, Y =  0, Z =  1 },
            { X =  0, Y =  0, Z =  1 },
            { X =  1, Y =  0, Z =  1 }
        },
        { -- forth line
            { X = -1, Y = -1, Z =  1 },
            { X =  0, Y = -1, Z =  1 },
            { X =  1, Y = -1, Z =  1 }
        }
    }
}

好的,我的问题是,我想访问包含在 X 中的值,并检查它是否是某个特定值,我该如何访问该值而无需递归整个表格?我的实际表格大小略大于 400KB,必须经常递归整个表格会很麻烦。

点赞
用户869951
用户869951
`tbm[fi][line][ii].X`

其中 `fi` 是面向索引(数字1或更大,尽管在您的示例中只有1),`line` 是所需行的索引(在您的示例中为1到4的数字),`ii` 是一行中的三个三元组表之一的索引,`X` 是三元组中所需的键。

例如,`tbm[1][2][3].X` 将从具有 `Y=1` 的行中取出1。
2014-04-20 13:14:53