1,使用函数时必须带圆括号,除非函数只有一个参数,且此参数是字面字符串或者table构造式。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了高阳免费建站欢迎大家使用!2,lua为面向对象式的调用提供了一种特殊的语法-冒号操作符。o:foo(x)==o.foo(o,x);
3,无论函数使用lua编写的还是用c编写的,在调用它时没有任何区别。
4,lua可以返回多个结果,只需在return后面列出所有的返回值即可。
5,lua调用一个函数的返回值数量以适应不同的调用情况:
函数调用作为一条单独语句时,lua会丢弃函数的所有返回值。
若将函数作为表达式的一部分来调用,lua只保留函数的第一个返回值。
当一个函数调用是一系列表达式中的最后一个元素(或仅有一个元素)时,才能获得它的所有返回值
所谓的一系列表达式有4种情况:
function foo2() return "a","b" end
1,多重赋值:x,y =foo2(),20; - - x="a",y=20;
2,实参列表:print(foo2(),1); - - >a 1
3,table 构造式:t={foo2(),4} -- t[1]="a",t[2]=4;
4,return语句:return foo2(); -- 这里不要加圆括号,否则只返回一个值。
6,unpack():接受一个数组作为参数,并从小标1开始返回该数组的所有元素。
7,变长参数: "..." select 来遍历一个函数的所有变长参数。
8,具名实参:直接受一个参数,实参只有一个table构造式。
9,函数是第一类值,与其他传统的类型的值有相同的权利。
table.sort(network,function(a,b) return (a.name>b.name) end)
10,closure 闭合函数:
11,”词法域“,一个函数写在另一个函数内部,便可以访问外部函数的局部变量的特征。
12,非全局的函数:
13,正确的尾调用:当一个函数的调用是另一个函数的最后一个动作时,该调用才算是一条尾调用。
只有return
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻标题:lua——函数-创新互联
网站地址:http://lswzjz.com/article/diogph.html