Lua点号和冒号区别
2024-08-21 21:15:55
定义的时候冒号默认接收self参数
调用的时候冒号默认传递调用者自己为参数
而句号要显示传递或接收self参数
-- 例如:句号定义,需要显示传递或接收
a = { x = }
function a.fun(self)
print(self.x)
end a.fun(a)--输出1,将a自己做为参数传给fun函数的self
这样调用要传递self,比较麻烦,所以lua给一个方便的方法
将函数定义改成冒号,就可以省略self参数
function a:fun()
print(self.x)
end a.fun(a)
将调用改成冒号,就可省略传自己进去
function a:fun()
print(self.x)
end a:fun()
最后说明一下,如果不用self,直接在函数里使用x是不行的
之前以为可以像c++类一样,成员函数可以直接使用类成员变量
function a:fun()
print(x)--将输出nil,找不到这个x
end
最新文章
- POJ 3667 Hotel(线段树 区间合并)
- Hyper-V架构与VMware ESXi的差异
- 【转载】Android端手机测试体系
- leetcode 126. Word Ladder II ----- java
- 崩溃信息:Message from debugger: Terminated due to signal 9
- 关于静态库和动态库的理解(C++)
- C++ 异常处理执行过程
- Multiscale Combinatorial Grouping 学习和理解源代码(一)
- vim中使用gdb。
- Session 的原理及最佳实践
- 网络工具nslookup的使用
- js算法初窥04(算法模式01-递归)
- Bioinfo online workshop
- decimal(19,6)什么意思
- MySQL(Python+ORM)
- python中RabbitMQ的使用(工作队列)
- TVB三个台
- electron demo项目npm install安装失败解决办法
- 视频播放效果--video.js播放mp4文件
- php利用curl获取网页title内容
热门文章
- [转]JSP页面的动态包含和静态包含示例及介绍
- thinkphp继承高级model后的乐观锁运用(测试中)
- 【Unity】使用JSONObject解析Json
- netable 禁用拖动
- centos7配置kerberos服务,并使用JAAS登录
- nvalid bound statement (not found)
- greendao数据库初次使用的配置及多表关联的初始化
- OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证
- SDRAM 学习笔记(一)
- thinkphp 无限极分类的数据库设计及效果测试