zoukankan      html  css  js  c++  java
  • 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) --不是尾调函数,因为还需要进行比较的操作
    我们什么都没有,唯一的本钱就是青春。梦想让我与众不同,奋斗让我改变命运!
  • 相关阅读:
    Python shutil模块
    Flask 上传文件
    Flask DBUtils
    flash-session
    Flash 上下文管理
    python 栈
    python 偏函数
    threding.local
    next() 与 nextLine() 区别
    Thread.sleep(1000*3); // 休眠3秒
  • 原文地址:https://www.cnblogs.com/mengmengxia/p/9258439.html
Copyright © 2011-2022 走看看