local object = newObject() function object:method(params) end local object:method = function(params) end
“方法声明”只是Lua中的语法糖.这些是相同的:
function object.func(self,param) end function object:func(param) end
但是,只有在将函数命名为函数声明的一部分时,该糖才有效.
用于访问Lua中的“方法”的’:’语法仅适用于访问存储在表中的函数,这些函数由字符串键命名.您无法使用此语法来设置表的值.
或者,换句话说,没有其他方法可以做到这一点:
function object:func(param) end
没有明确指定’self’参数作为第一个参数.