lua 下载和配置环境变量

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) 退出交互模式。

最后,我们可以创建一个简单的文件来模拟真实的开发流程。

  1. 创建文件 :在电脑桌面上新建一个文本文件,命名为 test.lua。
  2. 写入代码 :用记事本打开它,输入 print("验证成功!"),然后保存。
  3. 运行脚本 :
    • 在命令行中,使用 cd 命令进入桌面目录(例如 Windows 下输入 cd Desktop)。

    • 输入运行命令:bash

      复制代码
      lua test.lua

✅ 成功的表现:

命令行窗口会打印出文件里的内容:验证成功!

  • chcp 65001:将控制台的活动代码页切换为 UTF-8。
相关推荐
anew___8 分钟前
《从零手写操作系统 (30):环境变量与进程上下文——export/unset与继承语义》
java·开发语言·网络·jvm·算法
Cx330❀10 分钟前
Qt 多线程深度解析:从底层原理到 UI 线程与同步实战
开发语言·qt·ui·搜索引擎·性能优化·图形渲染
谢亮_vipxieliang29 分钟前
Go GMP调度模型——从原理到实战的完整指南
开发语言·网络·golang
聪明蛋子哟1 小时前
Python与Java双栈实战:手撸一个支持RAG与Tool Calling的高性能Agent框架
java·开发语言·python
谢亮_vipxieliang1 小时前
Go Context 控制协程生命周期
开发语言·golang
xuxigifxfh1 小时前
HJ4 字符串分隔
java·开发语言·华为机考
MayZork1 小时前
Qt 开发集成CMake + vcpkg
开发语言·c++·qt
零基础1232 小时前
PDF 处理工具全攻略:pdf24、PDFgear、Adobe Acrobat DC 与 Stirling-PDF 深度对比
java·开发语言·pdf
Java后端的Ai之路2 小时前
01-React基础教程
开发语言·前端·python·react.js·前端框架
我的xiaodoujiao2 小时前
Django 基础知识详细图文教程 14-Django 表单定义与使用
开发语言·后端·python·django