function – Lua中的方法声明

这两种声明在性能方面有什么区别吗?

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’参数作为第一个参数.

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...