Lua初识之表和函数-十三

来源:互联网 发布:ubuntu打开端口命令 编辑:程序博客网 时间:2024/04/29 13:14
Lua初识之表和函数-----表和函数放在一起lib = {}lib.foo = function(x, y)    return x + yendlib.goo = function( x, y)    return x - yendprint(lib.foo(3, 5))  -->  8print(lib.goo(3, 5))  --> -2-----------------------------------使用表构造函数lib = {   foo = function(x, y) return x + y end,   goo = function(x, y) return x - y end}print(lib.foo( 3, 5))  -->  8print(lib.goo( 3, 5))  -->  -2---------------------------lib ={}function lib.foo(x, y)    return x + yendfunction lib.goo(x, y)    return x - yendprint(lib.foo(3, 5))  --> 8print(lib.goo(3, 5))  --> -2---------------------------------尾调函数--[[do      function f(x)        return g(x) --> 此种用法为尾调函数,即返回值调用 其他函数    end    function ff(x)    g(x)    return   --> 此种不属于尾掉函数,end  function g(n)    return nendprint(f(5))end--]]---->  如上 f()的调用是尾调用,例子中f调用g不会在做任何事情,这种情况下被调用函数g结束时程序不需要---->返回调动者f,所以尾调用之后,程序不需要在栈中保留关于调用者的任何信息,---->由于尾调用不需要使用栈空间,那么尾调用递归的层次可以无限制的,不会导致栈溢出-------------------------


0 0
原创粉丝点击