我一直在研究这个没有运气的一段时间。我想在lua中动态调用冒号函数,就像我做常规函数一样。
obj['functionName']()
但以下情况不起作用。
obj:['functionName']()
有工作吗?我是否必须将obj显式添加到函数参数中?我宁愿不做以下事情,除非我必须...即:
obj['functionName'](obj)
谢谢!
答案 0 :(得分:2)
您可以使用obj:functionName()
,但如果“动态”表示functionName
存储在变量中,那么fn = 'functionName'; obj[fn](obj)
是唯一的方法。
答案 1 :(得分:1)
" obj:function()"语法是(如lua doc中所定义)"句法糖"对于obj.function(obj),所以不,没有办法绕过这个。语法糖针对非常具体的情况。