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)
输出结果

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