Lua中的函数(function)、可变参数、局部函数、尾递归优化等实例讲解
在Lua中,函数是作为"第一类值",这表示函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值,这种特性使Lua具有极大的灵活性。hello函数不接收参数,调用:hello(),虽然hello不接收参数,但是还可以可以传入参数:helloLua支持返回多个值,形式上非常类似Python:Lua支持编程参数,使用简单select('#', …)用于访问n到select('#',…)的参数函数做一个First-Class Value可以赋值给变量,用后者进行调用局部函数可以理解为在当前作用域有效的函数,可以用local变量来引用一个函数:需要注意的是,对于递归函数的处理所谓尾调用,就是一个函数返回另一个函数的返回值:
用户评论