Lua——函数冒号和点号的区别

Lua——函数冒号和点号的区别

函数前使用冒号表示该函数默认传递一个self参数,并且该参数指向调用者;使用点号则不会传递一个self参数,例如:

local person = {}function person:talk(mes)print("talk",self,mes)
endfunction person:sleep(time)print("sleep",self,time)
endperson:talk("aaa")
person.sleep(5)

输出结果如下:
在这里插入图片描述

从上面结果可以看出,当在调用函数时使用冒号,会有一个默认的隐藏参数self,并且指向调用者自身,而使用点号则没有默认self参数,若想填写sefl参数需要显式写入
如果想使两者结果一致,可以在调用函数中写成这样

person:talk("aaa")
person.sleep(person,5)

输出结果
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部