Lua脚本中的function使用冒号和点,以及require后使用冒号和点

1、Lua脚本里方法之前的冒号和点:

备注:

a)、每个方法前面如果是冒号,则这个方法里面自带一个self属性,也就是这个LUA脚本自己类对象的self

b)、当为点时,自带的self属性则为nil

调用者:local zwt = require "ZWTestLuaScript1"

被调者:ZWTestLuaScript1脚本中的方法如下:

方法1:

function ZWTestLuaScript1:OnSumbitBtnLogin(x,y)

        print(self)

        print(x)

        print(y)

       self:OnCancerBtnLogin(3,4)

end

方法2:

function ZWTestLuaScript1.OnSumbitBtnLogin(x,y)

        print(self)

        print(x)

        print(y)

       self:OnCancerBtnLogin(3,4)

end

以上两个方法的区别就是方法1为冒号,方法2为点。

 

调用方式区别:

方式1:

调用者用冒号,被调者用点:zwt.OnSumbitBtnLogin(3,4)

说明:被调者得到两个参数,第一个参数会默认变成一个table,也就是调用者默认传递self,而被调者第一个参数则接收self,所以最终的结果是

          被调者的self为nil,被调者的第一个参数为table,被调者第二个参数为调用者的第一个参数,调用者第二个参数丢失。

运用范畴:

 

方式2:

调用者用冒号,被调者冒号:zwt:OnSumbitBtnLogin(3,4)

说明:参数能正常对应,其中被调方法里能用self,这个self也就是被调者自身的表,调被者自身的self调用自己所在表的方法也是同样的原理。

运用范畴:全部位置均可正常使用。

 

方式3:

调用者用点,被调者用冒号:zwt:OnSumbitBtnLogin(3,4)

说明:调用者参数1赋给了被调者的self,导致调用者第二个参数传递丢失,自身的self被赋值导致不能使用自己表里的其他方法。

 

方式4:

调用者用点,被调者用点:zwt.OnSumbitBtnLogin(3,4)

说明:调用时参数对应正确,但这个方法不能使用self,自身的self则为nil值,不能使用这个self去调用自己表里的方法。

运用范畴:不需要使用自己表的slef的时候可以正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

auspark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值