lua中冒号和点的区别 理解Lua 语言中的点、冒号与self

08-09 房产资讯 投稿:戚映安
lua中冒号和点的区别 理解Lua 语言中的点、冒号与selflua中冒号和点的区别

lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用,这里简单的说明一下原理。如:

点号调用:
-- 点号定义和点号调用:girl = {money = 200}function girl.goToMarket(girl ,someMoney) girl.money = girl.money - someMoneygirl.goToMarket(girl ,100)print(girl.money)
引用参数self:
-- 参数self指向调用者自身(类似于c++里的this 指向当前类)girl = {money = 200}function girl.goToMarket(self ,someMoney) self.money = self.money - someMoneygirl.goToMarket(girl, 100)print(girl.money)
冒号调用:
-- 冒号定义和冒号调用:girl = {money = 200}function girl:goToMarket(someMoney) self.money = self.money - someMoneygirl:goToMarket(100)print(girl.money)

冒号定义和冒号调用其实跟上面的效果一样,只是把第一个隐藏参数省略了,而该参数self指向调用者自身。

总结:冒号只是起了省略第一个参数self的作用,该self指向调用者本身,并没有其他特殊的地方。

引用博文:http://www.xuebuyuan.com/1613223.html

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

程序运行中错误处理是必要的,在我们进行文件操作,数据转移及web service 调用过程中都会出现不可预期的错误。如果不注重错误信...

if语句后面可以是一个可选的else语句,当布尔表达式为false时执行。语法在R中创建if ... else语句的基本语法是 -if(boolean_expr...

因子是用于对数据进行分类并将其存储为级别的数据对象。 它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中很有用。...

Go 语言 goto 语句Go 语言循环语句Go 语言的 goto 语句可以无条件地转移到过程中指定的行。goto语句通常与条件语句配合使用。可...

介绍在参与 Vant 开发时,请遵守约定的单文件组件风格指南,指南内容节选自Vue 官方风格指南。组件数据组件的 data 必须是一个函...

介绍弹出层容器,用于展示弹窗、信息提示等内容,支持多个弹出层叠加展示。引入通过以下方式来全局注册组件,更多注册方式请参考...

介绍用户可以在文本框内输入或编辑文字。引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp } f...

介绍圆环形的进度条组件,支持进度渐变动画。引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp...

声明:生活头条网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@gdcyjd.com