lua程序设计脚本中点(.)与冒号(:)的差别
lua程序设计脚本中点(.)与冒号(:)的区别
lua中在声明一个函数时,可以有如下两种方式
1.
function ClassA.show()
print("test1")
end
2.
function ClassA:show()
print("test2")
end
那么这两种方式到底有啥区别呢?很简单定义的时候:ClassA:show()与ClassA.show(self)是等价的,点号(.)要达到冒号(:)的效果要加一个self参数到第一个参数
而调用的时候:AObj:show()与AObj.test(AObj)是等价的,点号(.)要添加对象自身到第一个参数。
总结
点号(.)可以作为静态方法来看待,冒号(:)可以作为成员方法来看待。