我遇到了特定代码行的问题 - building.transmitter:[operation](player, unpack({...}))
会导致Corona出现错误,但当它分别在Lua中运行时,这会很好。我怀疑这与在:
变量之前放置的[operation]
有关,但我一无所知。
具体来说,模块写成,
local activate = {}
local function activate.transmitter(player, operation, ...)
building = player:getTile()
building.transmitter:[operation](player, unpack({...}))
end
return activate
出现的运行时错误给我
"error loading module from file, '<name>' expected near '['"
编辑 - 哇!我没有注意到在Corona中进行故障排除时,我改变了一些代码行来识别问题。然后我错误地测试了Lua中的编辑的代码并且运行正常。我没有意识到代码不是原始代码,直到siffiejoe指出解释器也出错了。抱歉这个错误。
答案 0 :(得分:1)
也许Corona使用旧版本的Lua,它不支持这种语法。您可以尝试使用变通方法而不是
building.transmitter:[operation](player, unpack({...}));
你可以打电话
building.transmitter[operation](building.transmitter, player, unpack({...}));