Lua是什么
Lua是一种建立在C语言之上的开源语言。Lua在从大型服务器系统到小型移动应用程序的多个平台上都有其价值。
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。
设计目的
其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 特性
- 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
- 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
- 其它特性:
- 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
- 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
- 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
- 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
Lua 应用场景
- 游戏开发
- 独立应用脚本
- Web 应用脚本
- 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
- 安全系统,如入侵检测系统
学习资源教程
推荐互联网上免费的学习资源:
官网:https://www.lua.org、https://lua-users.org
Lua 文档教程(菜鸟教程):https://www.runoob.com/lua/lua-tutorial.htmlLua
视频教程(基础):https://www.bilibili.com/video/BV1vf4y1L7RbLua
视频教程(进阶):https://www.bilibili.com/video/BV1WR4y1E7ud
Lua 视频教程(进阶):https://www.bilibili.com/video/BV1iA411n7oQ
调试工具LuaPerfect 是一款专业级的Lua集成开发环境的调试工具: https://luaperfect.net/article/ReleaseNotes
Lua 热更新框架腾讯xLua 开源源码:https://github.com/Tencent/xLua
基于xlua的MVVM框架,支持Addressables,统一渲染管线等Unity新特性:https://github.com/Justin-sky/Nice-Lua
面向对象编程
在Lua中,可通过create a module和table可以很方便地支持面向对象编程 所需要的一些关键机制,比如数据抽象,继承和重载等。
第一个 Lua 程序
接下来我们使用 Lua 来输出"Hello World!"
print("Hello World!")
运行后,会在屏幕上显示 Hello, world!。