2024-09-29 23:20:13 发布
网友
我有以下Lua代码:
ow = { {move, 4, 5, Down}, { }, ...} ... if ow[n][1] == "move" then joypad.set({ ow[n][4] = true })
此代码返回错误。我想让它像我打字一样工作:
在python中,我处理这种情况的方式如下:
eval('joypad.set({ {0} = true })'.format(ow[n][4]))
在Lua,有没有类似或不同的方法可以做到这一点?在
你需要这样写:
joypad.set({ [ow[n][4]] = true })
注意“ow[n][4]”前后的括号。在
ow[n][4]
…您可以省略括号:
规则是这样的:如果表键不是词法标识符或字符串,则需要将其放在括号内。在
为了回答你的另一个问题,是的,Lua确实有类似eval的东西,它叫做loadstring:
eval
loadstring
local setjoy = ("joypad.set { %s = true }"):format(ow[n][4]) loadstring(setjoy)()
但正如尼科洛的回答所显示的,有一个更直接的方法来解决你所追求的。在
你需要这样写:
注意“
ow[n][4]
”前后的括号。在…您可以省略括号:
^{pr2}$规则是这样的:如果表键不是词法标识符或字符串,则需要将其放在括号内。在
为了回答你的另一个问题,是的,Lua确实有类似
eval
的东西,它叫做loadstring
:但正如尼科洛的回答所显示的,有一个更直接的方法来解决你所追求的。在
相关问题 更多 >
编程相关推荐