美文网首页
理解lua 语言中的点、冒号与self

理解lua 语言中的点、冒号与self

作者: 此年此景 | 来源:发表于2017-07-15 10:53 被阅读0次

lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用。

girl = {money = 200}  
function girl.goToMarket(girl ,someMoney)  
    girl.money = girl.money - someMoney  
end  
girl.goToMarket(girl ,100)  
print(girl.money)  

可以看出,这里进行了方法的点号定义和点号调用。

boy = {money = 200}  
function boy:goToMarket(someMoney)  
    self.money = self.money - someMoney  
end  
boy:goToMarket(100)  
print(boy.money)  

这里进行了冒号定义和冒号调用。
以上的打印结果都是100。
可以看出,冒号定义和冒号调用其实跟上面的效果一样,只是把第一个隐藏参数省略了,而该参数self指向调用者自身
当然了,我们也可以点号定义冒号调用,或者冒号定义点号调用,如:

boy = {money = 200}  
function boy.goToMarket(self ,someMoney)  
    self.money = self.money - someMoney  
end  
boy:goToMarket(100)  
print(boy.money)  

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

相关文章

  • 理解Lua 语言中的点、冒号与self

    Lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用其实用“.”或者用“:”都是可以的,区别...

  • 理解lua 语言中的点、冒号与self

    lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用。 可以看出,这里进行了方法的点号定义和...

  • Lua实现面向对象

    注:只是仿照,并不是真正的面向对象C#中是用this表示当前类的对象,Lua中使用self点(.)与冒号(:)的区...

  • Lua-冒号点号

    简介 关于冒号(:)与点号(.) 冒号自带隐藏self,点号不带self,方法用冒号 示例

  • Lua点与冒号的区别

    Lua方法调用. : 方法的使用 冒号操作会带入一个 self 参数,用来代表 自己。而点号操作,只是 内容 的展...

  • 9、lua中的self,点号,冒号的关系

    lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用。 点号定义、点号调用 冒号定义、冒号调...

  • Lua的oop分析

    1. self 它相当于c++的this指针,指向调用者自身。当我们在lua里使用它时,使用冒号就可以隐藏该sel...

  • cocos2d-lua开发(1)

    lua语法小结: 点号冒号的区别:点号语法中一般用于类属性的调用(包括方法)。lua中方法调用用 冒号 变量:一个...

  • lua中self的用法

    --冒号:在定义时省略了self--点号:在定义时不省略self 可以把点号(.)作为静态方法来看待,冒号(:)作...

  • Lua与C交互简介

    Lua资源获取### Lua各个平台动态库与静态库下载地址Lua源码下载地址 交互原理#### 要理解Lua与C的...

网友评论

      本文标题:理解lua 语言中的点、冒号与self

      本文链接:https://www.haomeiwen.com/subject/bnpahxtx.html