Lua 简介与环境搭建

1.1 什么是 Lua

Lua 是一种轻量、小巧、可扩展的脚本语言,由巴西里约热内卢天主教大学(PUC-Rio)的 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo 于 1993 年开发。名字 “Lua” 在葡萄牙语中意为 “月亮”

Lua 的设计哲学可以概括为三个词:轻量、可嵌入、高效。它不是一个用来编写独立大型应用的”大语言”,而是一个胶水语言——被嵌入到其他宿主程序中,为宿主提供灵活的脚本能力。

Lua 的核心特性

  • 简洁优雅:语法简单,语义清晰,仅有约 20 个关键字
  • 动态类型:变量无类型声明,运行时确定类型
  • 自动内存管理:基于标记-清除(Mark-and-Sweep)的垃圾回收
  • 一等函数:函数是第一类值,可赋值给变量、作为参数传递、作为返回值
  • 表(Table):Lua 唯一的数据结构容器,同时也是数组、字典、模块、类等的统一实现
  • 协程(Coroutine):轻量级并发支持
  • 可嵌入性:C API 完善,可轻松集成到 C/C++ 程序中

Lua 的应用场景

领域 代表案例
游戏开发 Unity(XLua/ToLua)、World of Warcraft(插件)、Roblox、Corona SDK
嵌入式系统 路由器固件、物联网设备脚本
Web 服务 OpenResty(Nginx + Lua)、Redis 脚本(EVAL)
配置文件 Nginx、Wireshark、VLC、I3 窗口管理器
工具链 Neovim 插件(VimScript 替代者)、Awesome WM

1.2 Lua 与其他语言的简单对比

维度 Lua Python JavaScript C#
体积 ~200KB ~30MB ~5MB ~100MB+
关键字数量 21 35 63+ 80+
主要用途 嵌入式脚本 通用编程 Web 前端 企业级应用
运行方式 解释执行 解释执行 解释/JIT 编译+JIT
语法复杂度 ★☆☆☆☆ ★★☆☆☆ ★★★☆☆ ★★★☆☆

Lua 的优势在于极致的小巧和嵌入性,如果你的应用需要一个脚本引擎来扩展功能,Lua 是最佳选择之一。


1.3 环境搭建

Windows 环境

方法一:使用 LuaDist(推荐)

  1. 访问 LuaDist 下载预编译包
  2. 解压后配置环境变量(将 lua.exe 所在目录添加到 PATH)
  3. 打开命令行输入 lua -v 验证安装

方法二:使用 Winget

1
winget install Lua.Lua

方法三:使用 Lua for Windows
下载 Lua for Windows 安装包,一键安装。

macOS 环境

1
brew install lua

Linux 环境

1
2
3
4
5
6
7
8
# Ubuntu/Debian
sudo apt install lua5.4

# CentOS/RHEL
sudo yum install lua

# Arch Linux
sudo pacman -S lua

在线运行环境(无需安装)

建议初学者先使用在线环境熟悉语法,再安装本地环境进行深入练习。


1.4 运行第一个 Lua 程序

交互式模式(REPL)

打开终端输入 lua,进入交互式模式:

1
2
3
4
5
6
7
8
Lua 5.4.6  Copyright (C) 1994-2023 Lua.org, PUC-Rio
> print("Hello, Lua!")
Hello, Lua!
> 1 + 2 * 3
7
> os.date()
"Mon Jun 1 08:00:00 2026"
>

Ctrl+DCtrl+C 或输入 os.exit() 退出交互模式。

脚本模式

创建一个文本文件 hello.lua

1
2
3
-- hello.lua
print("Hello, Lua!")
print("今天是: " .. os.date())

在终端执行:

1
lua hello.lua

输出:

1
2
Hello, Lua!
今天是: Mon Jun 1 08:00:00 2026

传递命令行参数

1
2
3
4
5
-- args.lua
print("脚本名称:", arg[0])
print("第一个参数:", arg[1])
print("第二个参数:", arg[2])
print("参数个数:", #arg - 1)

执行:

1
lua args.lua hello world

输出:

1
2
3
4
脚本名称: args.lua
第一个参数: hello
第二个参数: world
参数个数: 2

1.5 推荐开发工具

VS Code + Lua 插件

  1. 安装 VS Code
  2. 安装插件:
    • Lua(sumneko,又名 EmmyLua)——代码补全、语法检查、类型提示
    • Lua Debug(actboy168)——调试支持
  3. 创建一个 .lua 文件,开始编码

配置 settings.json

1
2
3
4
5
{
"Lua.runtime.version": "Lua 5.4",
"Lua.workspace.checkThirdParty": false,
"Lua.completion.showWord": "Enable"
}

ZeroBrane Studio

专门为 Lua 开发的轻量级 IDE,内置调试器,支持 LuaJIT,适合游戏脚本调试。

IntelliJ IDEA + EmmyLua

如果你使用 JetBrains 系的 IDE,安装 EmmyLua 插件可提供强大的 Lua 支持。


1.6 本章小结

  • Lua 是一种轻量、高效、可嵌入的脚本语言
  • 擅长作为胶水语言扩展宿主程序功能
  • 安装方式简单,一行命令即可
  • 交互式模式适合快速验证语法
  • 脚本模式用于编写完整程序

练习题

  1. 安装 Lua 环境,打印 Hello, Lua!
  2. 在交互模式下计算 ((1 + 2) * 3 - 4) / 5 的结果
  3. 编写一个脚本,接收两个数字作为命令行参数,打印它们的和
  4. 使用 os.date() 格式化输出当前时间,格式为 2026年06月01日
ByteFisher
分享编程技术 · 记录钓鱼乐趣
扫码关注
▸ 扫码关注 ◂
Lua基础教程 系列
第 1/15 篇
分享: