Lua中的递归函数写法实例

先看例子吧:

代码如下:

function foo(i) --1  

    print("i: ", i)  

    return i  

end  

  

do  

  

--local foo; --2  

 local foo = function (i) --3  

    if i < 1 then  

        return 1  

    else  

        return i * foo(i - 1) --4  

    end  

 end  

  

 local a = foo(4)  

 print("a: ", a)  

  

end 

上面的例子,到if里面调用了foo(..),它会调用到do..end块里面的foo也就实现了局部函数的递归。

相关推荐