如何根据枚举定义中的位置选择特定的枚举值在lua中?

背景

在lua中,我的团队已经建立了一个定义枚举的函数,如下所示:

Enumeration = enum{
    'SOME',
    'VALUE' }

enum函数的细节在这里:

function enum( names )
    local t={}
    local __enumID = 0
    for _,k in ipairs(names) do
            t[k]=__enumID
            __enumID = __enumID+1
    end
    reutrn t
end

问题

我有一个嵌套的for循环,其中外部循环基于Enumeration中的枚举数量循环,而内部循环基于分配了一个基于枚举的值的成员的另一个条件循环,如下所示:

for i = 1,2 do
    for j = 1,101 do
        someCollection['outerArray_['..i..'].innerBooleanArray_['..j..']'] = true
        someCollection['outerArray_['..i..'].innerEnumArray_['..j..']'] = Enumeration<i> <-- 我想以数字方式访问枚举
    end
end

通常,您可以像这样选择枚举的特定值:Enumeration.SOME,但我想知道...

问题

是否有一种方法可以使用其整数值选择SOME,例如Enumeration.<0>

点赞
用户107090
用户107090

enum 的循环中添加以下行:

t[__enumID]=k
2020-10-14 00:18:06