Lua中“.”和“:”区别 | 南锋

南锋

南奔万里空,脱死锋镝余

Lua中“.”和“:”区别

初学lua,可能会对.:这两个符号的用法产生疑问,很多时候都会因为这个出错,这里笔者简单介绍下笔者在使用Cocos2dx游戏开发中对这两者的认识

冒号的作用:定义函数时,给函数添加隐藏的第一个参数self,调用函数时,默认把当前调用者作为第一个参数传递进去。
使用冒号后,就相当于我们使用了点号,只是我们不再需要显示的定义self参数以及主动低传递参数。

在Cocos2dx 开发过程中,大部分时候都是使用的冒号

一般我们在定义函数时会用下面写法

1
function MainScene:onCreate()

等同于下面写法

1
function MainScene.onCreate(self)

笔者个人看法,欢迎大家更正

+