Lua脚本语言简明程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Agenda 简介 Lua 语言基础 Lua 高级特性 ——面向对象 ——c api Why Lua Fast, 最快的脚本语言,luajit更是接近C Clean ANSI C 可移植性好. Embeddable,可嵌入.多种语言嵌入支持.胶水语言 C-API 可扩展性强.接口简单,自身扩展,利用外部语言扩展 简单,但是功能强大.动态类型,metatable,内存管理 体积小,轻量级,100k size,8k memory Open Source,经过行业验证,靠谱。 Lua现状 第十节:变量的定义 和C语言一样,Lua的函数可以接受可变参数个数,它同样是用…来定义的,比如: function sum (a,b,…)        如果想取得…所代表的参数,可以在函数中 访问arg局部变量(表类型)得到。     如 sum(1,2,3,4)     则,在函数中,a = 1, b = 2, arg = {3, 4}     更可贵的是,它可以同时返回多个结果,比如:     function s()       return 1,2,3,4     end     a,b,c,d = s() -- 此时,a = 1, b = 2, c = 3, d = 4 function sum (a,b,…) { if table.getn(arg) == 0 then return a + b else lcoal sum = a + b for I,v in ipairs(arg) do sum += arg[i] end return sum } 前面说过,表类型可以拥有任意类型的值,包括函数!因此,有一个很强大的特性是,拥有函数的表,哦,我想更恰当的应该说是对象吧。Lua可以使用面向对象编程了。不信?那我举例如下:     t =     {      Age = 27      add = function(self, n) self.Age = self.Age+n end     }     print(t.Age) -- 27     t.add(t, 10)     print(t.Age) -- 37     不过,t.add(t,10) 这一句实在是有点土对吧?没关系,在Lua中,你可以简写成:     t:add(10) -- 相当于 t.add(t,10) 第十一课:使用流程 以下程序演示了如何在Lua中使用函数, 及局部变量 例e02.lua -- functions function pythagorean(a, b) local c2 = a^2 + b^2 return sqrt(c2) end print(pythagorean(3,4)) 运行结果 5 程序说明 在Lua中函数的定义格式为: function 函数名(参数) ... end 第十二节:循环语句 例e03.lua -- Loops for i=1,5 do print(i is now .. i) end 运行结果 i is now 1 i is now 2 i is now 3 i is now 4 i is now 5 第十三节: Table的嵌套 Table的使用还可以嵌套,如下例 例e06.lua -- Table ‘constructor’ myPolygon = { color=“blue”, thickness=2, npoints=4; {x=0, y=0}, {x=-10, y=0}, {x=-5, y=4}, {x=0, y=4} } -- Print the color print(myPolygon[“color”]) -- Print it again using dot -- notation print(myPolygon.color) -- The points are accessible -- in myPolygon[1] to myPolygon[4] -- Print the second point’s x -- coordinate print(myPolygon[2].x) Lua 高级特性 面向对象 C API Lua中的面向对象实现 封装 从前文我们可以看出lua可以很轻松的实现数据的封装 继承 这一点可以由metatable(元表)来实现 多态 通过对函数的重载实现 数据封装(对象) 数据封装(对象

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档