美文网首页
LUA .和:的区别

LUA .和:的区别

作者: Lee坚武 | 来源:发表于2017-01-13 16:10 被阅读507次

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

girl = {money = 200}

functiongirl.goToMarket(girl ,someMoney)

girl.money = girl.money - someMoney

end

girl.goToMarket(girl ,100)

print(girl.money)

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

boy = {money = 200}

functionboy:goToMarket(someMoney)

self.money = self.money - someMoney

end

boy:goToMarket(100)

print(boy.money)

这里进行了冒号定义和冒号调用。

以上的打印结果都是100。

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

当然了,我们也可以点号定义冒号调用,或者冒号定义点号调用

如:

boy = {money = 200}

functionboy.goToMarket(self ,someMoney)

self.money = self.money - someMoney

end

boy:goToMarket(100)

print(boy.money)

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

相关文章

  • LUA .和:的区别

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

  • Lua和Luajit的区别

    LuaJIT是采用C语言写的Lua的解释器。LuaJIT被设计成全兼容标准Lua 5.1, 因此LuaJIT代码的...

  • lua 中 . 和 : 的区别

    lua 中 . 和 : 的区别首先在lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的...

  • Lua 逗号和点号的区别

    测试代码 (一) 把这段代码运行到测试地址进行测试,得到如图所示的结果 测试代码(二) test:func(1,2...

  • Lua type和typeof区别

    type 是lua内置的函数,用来获取类型typeof 是一个自定义的函数,为了用来获取cs的类型 代码和输入如下:

  • Lua_for循环语句

    lua中的各种for循环语句:在Lua中for语句跟其他语言的for类似,语法上有一点点区别。Lua的for语句有...

  • Lua中冒号(":")和点号(".")的区别

    一、定义方法的区别 (1)冒号定义——默认会接受self参数 (2)点号定义——默认不会接受self参数 二、调用...

  • lua和c的初始

    lua和c的交互包括:c访问lua的变量、c访问lua的table、c调用lua的方法、lua调用c的函数 参考链...

  • cocos2d-lua开发(1)

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

  • lua 学习之编译

    编译 lua 是解释语言 但 lua 允许在运行源代码前,先将源代码编译为一种中间形式 区别解释语言的主要特征并不...

网友评论

      本文标题:LUA .和:的区别

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