lua函数快速而深刻的掌握
Lua中的函数和C++中的函数的含义是一致的,只是含义一致,语法不太一样,另外还有些特别之处,下面让我来带领大家快速掌握
操作方法
- 01
Lua函数创建 function testFun() print("******") end lua函数执行 testFun() 就这么简单,输出结果如下图
- 02
lua函数的参数 function testFun(name,sex) print(name); print(sex) end testFun("小白","女") 输出结果如下图 注:lua函数参数和C++不太一样,c++参数是有类型的,lua是没有类型的,脚本会根据你输入的参数自动呈现不同类型
- 03
lua函数参数自适应,这个和C++有点区别,大家注意点 比如第二步骤的函数,我按照下面的方式调用 testFun("小白") 这不会报错,输出如下:下面第一张图 没有传入的参数,脚本会用nil来代替,nil相当于空 然后我再这么调用,修改程序如下 testFun("小白","女","未婚") 这也不会报错,输出如下:下面第二张图 多出的参数,脚本会自动忽略不计,这就是Lua的强大
- 04
lua函数返回值 function testFun(name,sex) return name end local name=testFun("小白") print(name) 输出结果:小白 上面这个返回和c++差不多,但是lua还支持多重返回值,这个是C++没有的,见下面代码 function testFun(name,sex) return name end local name,sex=testFun("小白","女") print(name) print(sex) 输出结果: 小白 女 实际运行效果如下图
- 05
好了,有了上面的基础,我们现在讲解一个更加深刻的知识:闭合函数 其实闭合函数在开发中用处非常大,不解释概念,直接看代码,这样更清楚点 function test() local k = 100; return function() k = k + 100; return k; end end local testFun= test(); print(testFun()); print(testFun()); 执行结果 200 300 看到没,第二次执行居然保存了上次执行的结果,累加到300,这和C++中的概念是不同的。揣摩下,你会发现这个很有用处 实际运行效果如下图:
- 06
全局和非全局lua函数 比如下面这个函数就是全局函数,其他lua脚本都能访问 function testFun(name,sex) return name end 修改如下,加上local local function testFun(name,sex) return name end 这个就是非全局lua函数,只有本lua脚本才能访问
- 07
写到这里,基本lua函数就够用了,但是实战技巧远不止此,在开发中慢慢掌握。 如果你觉得此篇文章对你有用,就投个票,让更多的人能搜索到,帮助更多的人,谢谢 上一篇 【快速学习lua语言】 下一篇 【lua之table快速而深刻掌握】