lua——函数-创新互联

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——函数-创新互联
URL网址:http://scyanting.com/article/diogph.html