lua方法的定义&调用
1、冒号和点来定义个方法
2、当通过冒号定义方法的时候 默认传一个参数 self ,而使用点定义的时候则不会传递一个默认的self。
3、使用冒号定义方法,可以使用点来调用,如果不显式的把自身当做第一个参数传递的话,那么就会把第一个参数当做自身赋值给self ,参数就会少一个。
4、使用点定义的方法 也可以使用冒号调用,但是如果有两个参数以上的话, 前一个参数 接收的都是自身,最好还是别这么调用。
附:
person = {name = "ttt",age = 30} -- 1 -- person.eat = function () -- print("吃饭") -- end -- 2 function person.eat() print("吃饭") print(person.name) end function person:names(bbb,pp) print(self.name.."====") print(bbb.."++++") print(pp) end function person.run(per,cc,rr) print(cc.age) print(per.age) print(rr) end person.eat() person:names(5,6) person.names(person,4,90) person:eat() person:run(person,34) 输出结果: 吃饭 ttt ttt==== 5++++ 6 ttt==== 4++++ 90 吃饭 ttt 30 30 34
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下