首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lua中的Python ()

Lua中的Python ()
EN

Stack Overflow用户
提问于 2015-01-13 17:15:07
回答 2查看 810关注 0票数 1

我有以下的Lua代码:

代码语言:javascript
复制
ow = { {move, 4, 5, Down}, { }, ...}

...

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

此代码返回一个错误。我想让它工作起来就像我打字一样:

代码语言:javascript
复制
joypad.set({ Down = true })

在python中,我会处理这样的情况:

代码语言:javascript
复制
eval('joypad.set({ {0} = true })'.format(ow[n][4]))

在Lua有类似的或不同的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-13 17:41:22

你需要这样写:

代码语言:javascript
复制
joypad.set({ [ow[n][4]] = true })

注意"ow[n][4]“旁边的括号。

...and您可以省略括号:

代码语言:javascript
复制
joypad.set{ [ow[n][4]] = true }

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

票数 1
EN

Stack Overflow用户

发布于 2015-01-13 23:06:08

要回答你的另一个问题,是的,Lua确实有类似于eval的东西--它叫做loadstring

代码语言:javascript
复制
local setjoy = ("joypad.set { %s = true }"):format(ow[n][4])
loadstring(setjoy)()

但是正如Niccolo的回答所显示的,对于你想要的,有一个更直接的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27927743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档