为什么Corona在加载使用lua加载的代码时出错?

时间:2014-11-03 23:35:13

标签: lua corona

我遇到了特定代码行的问题 - 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指出解释器也出错了。抱歉这个错误。

1 个答案:

答案 0 :(得分:1)

也许Corona使用旧版本的Lua,它不支持这种语法。您可以尝试使用变通方法而不是

building.transmitter:[operation](player, unpack({...}));

你可以打电话

building.transmitter[operation](building.transmitter, player, unpack({...}));