通过函数参数在 Lua 中动态分配变量

有没有办法通过函数参数动态地分配全局变量,这样我就不必创建大量的 ifs 和/或双函数来实现相同的结果了?

示例:

Generic = {}

function GenericFunction(var)
    local value = { v1 = 1, v2 = 2 }

    return loadstring([[Generic.]] .. var .. [[ = value]])()
end
点赞
用户7509065
用户7509065

在 Lua 中,foo.bar 只是 foo['bar'] 的简写。因此,对于你想要的问题,有一个更简单的解决方案:只需执行 Generic[var] = value

2021-04-18 17:25:14