Lua 是一种轻量级、高性能、可嵌入的脚本语言,以其简洁的语法和强大的扩展能力而闻名。它由巴西里约热内卢天主教大学的一个研究小组于 1993 年开发。
Lua 的设计目标是嵌入到应用程序中,为程序提供灵活的扩展和定制功能。这使得它在游戏开发、嵌入式系统、Web 开发等领域应用极为广泛,例如《魔兽世界》、《愤怒的小鸟》等知名游戏都使用 Lua 作为脚本语言。
🌟 核心特性
- 轻量级:Lua 的解释器非常小巧(完整解释器不足 200KB),启动速度快,非常适合资源受限的环境。
- 高性能:Lua 的执行速度在脚本引擎中名列前茅,其性能接近 C/C++。
- 易于嵌入:由标准 C 编写,可以轻松与 C/C++ 等宿主语言交互,方便进行功能扩展。
- 动态类型:变量无需声明类型,类型与值关联,在运行时自动推断。
- 强大的
table:table是 Lua 中唯一的数据结构,它可以作为数组、字典、对象等多种数据结构使用,极其灵活。
为啥要学lua
- OpenResty / Nginx :通过
ngx_lua模块,开发者可以用 Lua 编写 Web 应用、API 网关、限流、鉴权等逻辑。得益于 LuaJIT(即时编译器),Lua 脚本的执行效率极高,能够轻松应对每秒数万次甚至千万级的请求,被阿里、腾讯等公司广泛用于构建高并发系统。 - Redis:Redis 的脚本功能就是基于 Lua 的。通过 Lua 脚本,可以将多个 Redis 命令打包成一个原子操作,有效避免了分布式环境下的竞态问题,是实现分布式锁等复杂功能的基石。
📦 数据类型
Lua 的数据类型非常精简,主要包括以下几种:
nil: 表示空值或无效值。在条件判断中,nil和false被视为假,其他所有值(包括0和空字符串"")均为真。boolean: 布尔值,只有true和false。number: 数字类型。Lua 默认将所有数字视为双精度浮点数,不区分整数和浮点数。string: 字符串。可以用单引号'或双引号"表示,也支持[[...]]的多行字符串格式。function: 函数。在 Lua 中,函数是第一等公民,可以被赋值、传递和作为返回值。table: 表。这是 Lua 中最核心、最强大的数据结构,可以存储键值对,实现数组、哈希表、对象等功能。
Windows 系统安装lua环境
下载lua
lua官网,点击download-->点击get a binary


选择相应版本

解压到当前文件夹


添加到环境遍历里边
右击我的电脑-->属性-->高级系统设置 -->环境变量,把当前目录添加到里边.


验证

lua54 -v 可以打印出版本号.
lua54进入交互界面

窗口中会出现 > 符号,这代表 Lua 已经准备好接受你的指令了。此时,你可以输入以下代码测试:
print("Hello, Lua!")
回车后,如果屏幕输出了 Hello, Lua!,说明 Lua 的核心功能完全正常。
退出方法 :输入 os.exit() 或者按 Ctrl + Z (Windows) / Ctrl + D (Mac/Linux) 退出交互模式。
最后,我们可以创建一个简单的文件来模拟真实的开发流程。
- 创建文件 :在电脑桌面上新建一个文本文件,命名为
test.lua。 - 写入代码 :用记事本打开它,输入
print("验证成功!"),然后保存。 - 运行脚本 :
-
在命令行中,使用
cd命令进入桌面目录(例如 Windows 下输入cd Desktop)。 -
输入运行命令:bash
lua test.lua
-
✅ 成功的表现:
命令行窗口会打印出文件里的内容:验证成功!


chcp 65001:将控制台的活动代码页切换为 UTF-8。