我有以下Lua代码:

ow = { {move, 4, 5, Down}, { }, ...}

...

if ow[n][1] == "move" then
    joypad.set({ ow[n][4] = true })


此代码返回错误。我想让它像输入一样工作:

joypad.set({ Down = true })


在python中,我将处理以下情况:

eval('joypad.set({ {0} = true })'.format(ow[n][4]))


我可以在Lua中使用类似或不同的方法吗?

最佳答案

您需要这样写:

joypad.set({ [ow[n][4]] = true })


注意“ ow[n][4]”周围的括号。

...并且您可以省略括号:

joypad.set{ [ow[n][4]] = true }


规则是这样的:如果表键不是词法标识符或字符串,则需要将其放在方括号内。

10-05 19:16