- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lua 点号与冒号(Lua dot and colon)
lua 点号与冒号(Lua dot and colon)
The difference of lua oriented and object oriented programming of the dot colon compared with
First, start with a code that creates a class and object in Lua
01 Class = {}
02 Class.__index = Class
03
04, function, Class:new (x, y)
05 local temp = {}
06 setmetatable (temp, Class)
07 temp.x = x
08 temp.y = y
09 return temp
10 end
Eleven
12 function Class:test ()
13 print (self.x, self.y)
14 end
Fifteen
Sixteen
17 object = Class.new (10,20)
Eighteen
19 object:test ()
Guess what the outcome will be?
Output:
lua -e, io.stdout:setvbufNo, object.lua
20 nil
Exit code: 0
Whats wrong with our y value?
The reason is simple because we used a number when we created an object
In the second edition of the Lua programming, it is mentioned that when an operation acts as a recipient, an additional parameter is needed to represent the recipient, which is usually called self or this
Then we add self to this code
01 Class = {}
02 Class.__index = Class
03
04, function, Class:new (x, y)
05 local temp = {}
06 setmetatable (temp, Class)
07 temp.x = x
08 temp.y = y
09 return temp
10 end
Eleven
12 function Class:test ()
13 print (self.x, self.y)
14 end
Fifteen
Sixteen
17 object = Class.new (self, 10,20)
Eighteen
19 object:test ()
Then well have a look at the output
lua -e, io.stdout:setvbufNo, object.lua
1020
Exit code: 0
This is normal!! well, have to write a self every time an object is created, it will feel very trouble? Lua added with an additional parameter in the definition of a method used in colon, and add an extra parameter in a method call.
Then the code changes to
01 Class = {}
02 Class.__index = Class
03
04, function, Class:new (x, y)
05 local temp = {}
06 setmetatable (temp, Class)
07 temp.x = x
08 temp.y = y
09 return temp
10 end
Eleven
12 function Class:test ()
13 print (self.x, self.y)
14 end
Fifteen
Sixteen
17 object = Class:new (10,20)
Eighteen
19 object:test ()
Output normal:
lua -e, io.stdout:setvbufNo, object.lua
1020
Exit code: 0
If thats all
您可能关注的文档
- 2 0 岁女生 注意(20 year old girl attention).doc
- 18则冷知识问答(18 cold questions and answers).doc
- 2 0 岁女生再不注意就晚了(20 year old girls don't pay attention anymore).doc
- 2,防水透湿功能性复合面料的测试方法介绍(2, waterproof, breathable functional composite fabric testing methods introduced).doc
- 2.1常量与变量(2.1 constants and variables).doc
- 2.android分区(2。Android分区).doc
- 2.人员招聘与配置(2. staffing and deployment).doc
- 2004年高考语文试题及答案详解(江苏卷)(2004 college entrance examination language examination questions and answers detailed explanation (Jiangsu roll)).doc
- 2003级针灸推拿英语专业(2003 grade acupuncture and massage English Major).doc
- 2002年考研英语试卷英汉翻译真题解析(2002 English translation analytical papers Zhenti).doc
- mastercam9.0后处理的设定方法(Setting method of mastercam9.0 postprocessing).doc
- maya2009中英文对照(Maya2009 in English and Chinese).doc
- mba测试题(MBA test questions).doc
- mba全套中文教程-生产与运作原理-第一部-t0103(MBA complete Chinese tutorial - Principles of production and operation - Part 1 -t0103).doc
- mba英语-英语词汇记忆方法大全二(MBA English - English vocabulary memory method Daquan two).doc
- mba系列之十八策划脑白金(MBA Series eighteen planning naobaijin).doc
- mel语法(Mel syntax).doc
- microsoft jet database engine(0x80004005)未指定错误的解决方法(微软Jet数据库引擎(这个问题很经典)未指定错误的解决方法).doc
- more用法(More usage).doc
- linux启动全线提速法(Linux start up all speed method).doc
最近下载
- 《第5课 共同保卫伟大祖国》课件_初中道德与法治_七年级全一册_中华民族大团结.pptx VIP
- h3cloud云学堂故障处理手册.pdf VIP
- 2025-2026学年重庆市巴蜀中学学堂班八年级(上)选拔数学试卷(含答案).pdf VIP
- 第5课 共同保卫伟大祖国 课件中华民族大团结.ppt VIP
- GB50819-2013 油气田集输管道施工规范.pdf VIP
- 沥青混凝土面层工程检验批质量验收记录表.doc VIP
- 人教PEP版四年级英语下册 《Weather》Part A PPT课件(第1课时) .ppt VIP
- 《文化的继承与创新》课件.ppt VIP
- 百冠公司成品仓库仓储货位优化研究.docx
- 2024光伏连接器技术标准.docx VIP
文档评论(0)