Skip to main content

Lua是什么

image-20250907235536006

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.orghttps://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!。