Lua 语言简介


什么是 Lua?

Lua 是一种轻量级、高效、可嵌入的脚本语言,由巴西里约热内卢天主教大学(PUC-Rio)于 1993 年开发。Lua 在葡萄牙语中意为”月亮”。

Lua 的设计目标是成为一个嵌入式语言,可以轻松地与 C/C++ 等宿主语言集成,为应用程序提供灵活的脚本扩展能力。


Lua 的主要特点

特点说明
轻量级完整解释器仅约 200KB,适合资源受限环境
高性能在所有脚本语言中执行速度名列前茅(尤其 LuaJIT)
可嵌入提供简洁的 C API,可轻松嵌入 C/C++/Java/C# 等项目
跨平台支持 Windows / macOS / Linux / iOS / Android / 嵌入式
简单易学语法简洁直观,仅有 6 种基本类型,学习曲线平缓
高度可定制元表机制允许修改语言行为,实现自定义 OOP 等范式

Lua 的应用场景

游戏开发

  • World of Warcraft — 使用 Lua 编写 UI 和插件系统
  • Roblox — Lua 作为全平台开发语言
  • Love2D — 基于 Lua 的 2D 游戏引擎
  • Cocos2d-x、Defold、Corona SDK 等引擎均使用 Lua 作为脚本语言

嵌入式/脚本扩展

  • Redis — Lua 脚本实现原子性事务操作
  • Nginx(OpenResty) — Lua 编写高性能 Web 应用
  • Wireshark — 使用 Lua 编写协议解析插件
  • Neovim — 使用 Lua 作为第一配置语言
  • Adobe Lightroom — 使用 Lua 编写图片处理插件
  • MySQL Proxy — Lua 编写数据库中间件逻辑

其他领域

  • 嵌入式系统(如 NodeMCU / ESP32)
  • 网络工具(nmap 的 NSE 脚本引擎)
  • 高性能计算(Torch7 深度学习框架曾用 Lua)

Lua 与主要 Lua 发行版

发行版特点适用场景
PUC-Lua(官方)标准 Lua,当前版本 5.4通用开发,嵌入 C/C++ 项目
LuaJITJIT 编译,速度提升 10-100 倍,兼容 5.1高性能需求,游戏开发,OpenResty
Lua 5.1兼容性最广的版本很多现有项目的默认版本

建议:学习时使用官方 Lua 5.4,实际项目根据需求选择 LuaJIT 或 Lua 5.4。


本教程目标

通过本教程,你将能够:

  1. 在不同操作系统上安装和配置 Lua 开发环境
  2. 掌握 Lua 的基础语法和常用库
  3. 理解 Lua 的进阶特性(元表、协程、OOP 等)
  4. 将 Lua 嵌入 C/C++ 项目,实现多语言协作开发
  5. 使用 Lua 配置和扩展 Neovim 编辑器
  6. 使用 Lua + Love2D 进行游戏开发

教程目录

文件内容
01-安装与环境配置.md各系统安装方法、编辑器选择、Hello World
02-基础入门.md变量、类型、运算符、控制流、函数、表入门
03-进阶教程.md模块、元表、协程、IO、错误处理、OOP、调试、数据库
04-C与C++集成.mdLua C API 详解,C/C++ 与 Lua 互调用实战
05-Neovim示例.md使用 Lua 配置 Neovim 的实战示例
06-Love2D示例.md使用 Lua + Love2D 引擎开发游戏入门

准备好了吗?让我们从环境搭建开始吧!


相关知识点