Lua之尾调函数的用法

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

 function f(x)
return g(x)
end

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

 function gf(n)
if n> then
return gf(n-)
end
end

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

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

最新文章

  1. HDU 5742 Chess SG函数博弈
  2. sqlserver跨服务器数据库sql语句
  3. css3的新特性transform,transition,animation
  4. java POI实现向Excel中插入图片
  5. Nginx return 关键字配置小技巧
  6. sqlserver函数
  7. UITableView 详解 ()
  8. centos 7.0 mono&Jexus V5.5.3安装
  9. configure脚本参数介绍
  10. APNs消息推送完整讲解
  11. 通过jstack定位在线执行java系统故障_案例1
  12. 注册表命令 regedit32
  13. linux-python3.8安装
  14. centos 7 安装二进制mysql 详细步骤
  15. jquery中关于对象类型的判断原理
  16. (转)C#串口SerialPort常用属性方法
  17. android listview使用自定义的adapter没有了OnItemClickListener事件解决办法
  18. OpenCL 前缀和
  19. kubelet disk 压力
  20. PHP ImageMagick

热门文章

  1. Python3基础(九) 错误和异常
  2. wpf 禁用启用webbroswer右键菜单
  3. willRotateToInterfaceOrientation 屏幕旋转
  4. CSDN 厦门大学线下编程比赛第一题:求和(同余定理)
  5. UVALive 4212 - Candy
  6. bzoj3011
  7. 在datagrid中的toolbar添加输入框
  8. codevs1230元素查找(hash)
  9. DFS之城堡问题
  10. 微信小程序的wxml文件和wxss文件在webstrom的支持