lua函数递归
来源:互联网 发布:淘宝寄拍模特价格 编辑:程序博客网 时间:2024/06/07 08:55
我们先从一个错误的实例开始我们的讨论
local fact = function (n) if n == 0 thenreturn 1 else return n*fact(n-1)end
上面这种方式导致 Lua 编译时遇到 fact(n-1)并不知道他是局部函数 fact,Lua 会去查找是否有这样的全局函数 fact。为了解决这个问题我们必须在定义函数以前先声明:
local fact
当然,定义采用哪种方式都行
local factfunction fact(n) if n == 0 then return 1 else return n*fact(n-1) endend
local factfact = function (n) if n == 0 then return 1 else return n*fact(n-1) endend
那么是不是对于递归函数,是不是一定要先申明呢?
答案是对于自己调用本身这类的直接递归函数,还有另一种简单方式
local function fact(n) if n == 0 then return 1 else return n*fact(n-1) endend
对于非直接递归,则只有前一种方式
0 0
- lua函数递归
- lua中的递归函数
- lua 记录,递归函数
- lua递归函数中变量
- Lua function函数,可变参数, 局部函数,尾递归优化
- 学习lua之递归
- 递归打印lua表
- Lua中的函数(function)、可变参数、局部函数、尾递归优化等实例讲解
- Lua函数
- Lua函数
- Lua函数
- Lua函数
- lua函数
- lua 函数
- Lua函数
- lua 函数
- Lua 函数
- lua 函数
- lua 创建scrollview
- php session原理
- 深入认识javascript中eval函数的用法
- Oracle如何查看日志
- 安全会议--list
- lua函数递归
- 今年的WWDC,真的很难说
- VC子窗口不响应OnLButtonDown
- 对Android近期任务列表(Recent Applications)的简单分析
- Android 4.4.2 Pptp VPN route&ifconfig ---SUCCESS (LG Nexus)
- 菜鸟都能理解的线段树入门经典
- Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- ie10中元素超出父元素的宽度时不能自动隐藏
- android 增量更新之 服务端 附带java 调用示例