Lua中的递归函数写法实例

 更新时间:2015年04月22日 09:56:21   投稿:junjie  
这篇文章主要介绍了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也就实现了局部函数的递归。

相关文章

  • 详解Lua中的变量相关知识点

    详解Lua中的变量相关知识点

    这篇文章主要介绍了Lua中的变量相关知识点,是Lua入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Lua中基本的数据类型、表达式与流程控制语句讲解

    Lua中基本的数据类型、表达式与流程控制语句讲解

    这篇文章主要介绍了Lua中基本的数据类型、表达式与流程控制语句讲解,总结了Lua入门学习中的基础语法知识,需要的朋友可以参考下
    2016-06-06
  • Lua和C++的通信流程代码实例

    Lua和C++的通信流程代码实例

    这篇文章主要介绍了Lua和C++的通信流程代码实例,本文是上一篇的DEMO,本文用代码讲解Lua和C++之间的通信,需要的朋友可以参考下
    2014-09-09
  • Lua中的源代码预编译浅析

    Lua中的源代码预编译浅析

    这篇文章主要介绍了Lua中的源代码预编译浅析,Lua确实允许在运行源代码之前,将源代码预编译成一种中间形式(类比Python的.pyc),需要的朋友可以参考下
    2014-09-09
  • lua脚本实现自动生成APK包

    lua脚本实现自动生成APK包

    上次用了纯bat写了个脚本生成APK包,感觉bat扩展性和语法差的令人发指,这次用lua重写了一个脚本,适用于cocos2dx+lua的项目,小伙伴们来参考下吧。
    2015-03-03
  • Lua之协同程序coroutine代码实例

    Lua之协同程序coroutine代码实例

    这篇文章主要介绍了Lua之协同程序coroutine代码实例,本文给出的代码示例较为复杂,需要对Lua协同程序有一定的了解方能看懂,需要的朋友可以参考下
    2015-04-04
  • C语言模块回调Lua函数的两种方法

    C语言模块回调Lua函数的两种方法

    这篇文章主要介绍了C语言模块回调Lua函数的两种方法,本文讲解了C保存函数对象、C访问Lua全局环境两种方法,需要的朋友可以参考下
    2015-04-04
  • lua中使用packagepath解决多个项目的路径冲突问题

    lua中使用packagepath解决多个项目的路径冲突问题

    这篇文章主要介绍了lua中使用packagepath解决多个项目的路径冲突问题,本文描述了问题的产生环境和原因,并给出了解决方法,需要的朋友可以参考下
    2015-04-04
  • Lua中的面向对象编程详解

    Lua中的面向对象编程详解

    这篇文章主要介绍了Lua中的面向对象编程详解,本文讲解了Lua中的类、继承、多重继承等内容,需要的朋友可以参考下
    2014-09-09
  • Lua学习笔记之函数、变长参数、closure(闭包)、select等

    Lua学习笔记之函数、变长参数、closure(闭包)、select等

    这篇文章主要介绍了Lua学习笔记之函数、变长参数、closure(闭包)、select等,本文着重讲解了这些特性的用法,并给出代码实例,需要的朋友可以参考下
    2015-04-04

最新评论