标题:self 用法
只看楼主
Metz
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-10-4
 问题点数:0 回复次数:1 
self 用法
 我知道 t:add(10)    -- 相当于 t.add(t,10)

   能帮忙解析一下这个10是什么含义吗?
搜索更多相关主题的帖子: 用法 add -- 解析 含义 
2018-10-06 17:23
Lua_Toby
Rank: 1
来 自:成都
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-7
得分:0 
就是个普通的参数传递嘛
local t = {}
funciton t:func2(param1)
    print('hello world')
end


funciton t.func2(self,param1)
    print('hello world')
end


funciton t.func2(param1,param2)
    print('hello world')
end
都没什么区别
用了 : 来声明就是表示多占了一个参数位置 而且是第一个参数 这个参数 即使我写个self 它也只是个形参名字 你真正调用的时候 不是必须传 t 的自身 (但是做项目的时候 用self来表明参数 是因为 方法体里面会用到这个self来做特定的事情 想要正确执行就要传正确的参数而已)

调用的时候 不用管怎么声明的 用点和用冒号都可以调用:
t.func2() t:func2()
用冒号比用点 就是默认多传了一个参数( t 自身)而且是第一个参数
我们用t.func2(t) 和 t:func2() 就是一个相同的调用啦
2018-11-07 21:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490210-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104482 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved