Lua之尾调函数的用法

Lua之尾调函数的用法

--当函数的最后返回结果调用另一个函数,称之为尾调函数

1 function f(x)
2 return g(x)
3 end

--由于“尾调用”不会耗费栈空间,所以一个程序可以拥有无数嵌套的“尾调用”

1 function gf(n)
2 if n>0 then 
3 return gf(n-1)
4 end
5 end

--判断当前调用是一条“尾调用”的准则:一个函数在调用完另一个函数之后,是否就无其他事情需要做了
--下面举一下不是尾调用的例子

1 return g(x)+1 --不是尾调函数,因为还必须做一次加法 操作
2 return (g(x)) --不是尾调函数,因为必须调整为一个返回值
3 return x or g(x) --不是尾调函数,因为还需要进行比较的操作

转载于:https://www.cnblogs.com/mengmengxia/p/9258439.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值