在lua中用括号调用冒号函数

时间:2017-06-14 01:22:44

标签: lua corona

我一直在研究这个没有运气的一段时间。我想在lua中动态调用冒号函数,就像我做常规函数一样。

obj['functionName']()

但以下情况不起作用。

obj:['functionName']()

有工作吗?我是否必须将obj显式添加到函数参数中?我宁愿不做以下事情,除非我必须...即:

obj['functionName'](obj)

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用obj:functionName(),但如果“动态”表示functionName存储在变量中,那么fn = 'functionName'; obj[fn](obj)是唯一的方法。

答案 1 :(得分:1)

" obj:function()"语法是(如lua doc中所定义)"句法糖"对于obj.function(obj),所以不,没有办法绕过这个。语法糖针对非常具体的情况。