lua学习笔记.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lua学习笔记

学习记录*Lua中函数调用,可省略括号的情况:一个函数只有一个参数,并且次参数是一个字面字符或者table构造式。*Lua中面向对象特殊调用提供一种特殊的语法—冒号操作符。*Lua中逻辑操作符,and和or返回的不是逻辑真假,而是返回的操作数。*Lua中函数调用多重返回值,返回情况约定:只有当一个函数调用是一系列表达式(4种情况:多重复值,函数调用时的传入参数,table的构造式和return语句)中的最后一个元素(或仅有一个元素)时,才能取得他的所有返回值。其他情况返回数量至多为1。*Lua中多重复值对操作符()的约定,单独被()包围的多重复值,会被强迫只返回一个值。*Lua中多重返回值得特殊函数-unpack,一次返回数组参数的所有元素,此函数的主要用途体现在“范型调用”机制中。*Lua中变长参数,操作符 … 表示变长实参,{…}表示一个有所有变长参数构成的数组。*Lua中提供格式化文本(string.format)和输出文本(io.write)的函数*Lua中遍历变长参数的函数select(selector, … ) ,当selector为数字n时返回,返回边长数组中第n各值,当selector为#时,返回变长数组长度。*Lua中函数构造式,function (参数) 语句体 end*Lua中closure(闭合函数)相关概念:词法域,“第一类的”函数,“非局部的变量”(upvalue)。将函数体赋予变量时,变量会完成一个函数构造式,创建和初始化函数中的各种变量,成为函数变量,函数变量在被释放前都维护着自己的资源块,函数变量的资源块中可存在函数变量。Lua语言中函数变量中的局部代码可调用函数变量同一词法域的变量,对其理解可参考新c++11中lambda可以设定识别范围。*Lua中由于函数变量的机制,其递归是通过函数变量实现的,而不是函数名(Lua中函数块均无名)。*Lua中一种定义函数的语法糖:语法糖定义初始化函数变量local function foo (参数) 函数体 end实际展开:local foo ;foo = function (参数) 函数体 end语法糖定义初始化函数变量local foo;function foo (参数) 函数体 end实际展开:local foo; foo ;foo = function (参数) 函数体 end*Lua中尾调用正确的使用方法:判断准则“一个函数在调用完另一个函数之后,是否就无其它事情需要做”function f (x) g(x) end 就不是尾调用,调用完g后f并不能立即返回,它需要判断并丢弃g返回的临时结果,见附录《尾调用》*Lua中模式匹配见附录《/whiteyun/archive/2009/09/02/1541043.htmlLua模式匹配》*Lua中next(t,k),k是table t 的一个key。此调用会返回table中k的下一个key,及这个key所对应的值。而调用next(t,nil)时,返回table的第一组值。若没有下一组值时,返回nil。Lua中数字型for第三个参数的正负决定结束的判断方式。*Lua中范型for var-list in exp-list do end此表达式首先对exp-list表达式进行求值,返回到三个值:迭代器,恒定状态,和控制变量。即范型表达式变为 for var-list in 迭代器,恒定状态,控制变量 do end例如:function ( t )return next ,t ,nilfor k, v in next,t do --范型for in 自动补充为next,t,nilloop bodyend*Lua中pairs与ipairs区别:ipairs (t)Returns three values: an iterator function, the table?t, and 0, so that the constructionfor i,v in ipairs(t) do?body?endwill iterate over the pairs (1,t[1]), (2,t[2]), ···, up to the first integer key absent from the table.pairs (t)Returns three values: the?/manual/5.1/manual.htmlnext?function, the table?t, and?nil, so that the constructionfor k,v in pairs(t) do?body?endwill iterate over all key–value pairs of ta

您可能关注的文档

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档