元素码农
基础
UML建模
数据结构
算法
设计模式
网络
TCP/IP协议
HTTPS安全机制
WebSocket实时通信
数据库
sqlite
postgresql
clickhouse
后端
rust
go
java
php
mysql
redis
mongodb
etcd
nats
zincsearch
前端
浏览器
javascript
typescript
vue3
react
游戏
unity
unreal
C++
C#
Lua
App
android
ios
flutter
react-native
安全
Web安全
测试
软件测试
自动化测试 - Playwright
人工智能
Python
langChain
langGraph
运维
linux
docker
工具
git
svn
🌞
🌙
目录
▶
Lua语言基础
▶
环境搭建
安装Lua解释器
配置开发环境
第一个Lua程序
▶
基本语法
变量与数据类型
运算符与表达式
控制结构
▶
数据结构
表(Table)详解
数组与迭代
字符串处理
▶
Lua高级编程
▶
函数编程
函数定义与调用
闭包与作用域
高阶函数应用
▶
元表与元方法
元表基础
操作符重载
继承与对象系统
▶
协程编程
协程基础
生产者-消费者模式
协程调度实践
▶
Lua应用实践
▶
游戏开发
Lua与游戏引擎集成
AI脚本实现
热更新机制
▶
系统编程
Lua与C交互
扩展库开发
性能优化技巧
▶
实用工具开发
配置文件解析
自动化测试框架
网络编程基础
发布时间:
2025-03-24 12:04
↑
☰
# 第一个Lua程序 本文将指导你编写和运行第一个Lua程序,帮助你快速入门Lua编程。 ## 创建第一个程序 让我们从最简单的"Hello, World!"程序开始。创建一个名为`hello.lua`的文件,输入以下代码: ```lua print("Hello, World!") ``` 这就是最简单的Lua程序了!让我们再来看一个稍微复杂一点的例子,它展示了更多的Lua基本特性: ```lua -- 这是一个注释 -- 定义变量 local name = "Lua" local version = 5.4 -- 使用字符串连接操作符 local greeting = "Welcome to " .. name .. " " .. version -- 输出信息 print(greeting) -- 使用格式化字符串 print(string.format("Today is %s", os.date())) -- 简单的计算 local result = 10 + 20 print("10 + 20 = " .. result) ``` ## 运行程序 有几种方式可以运行Lua程序: ### 1. 使用命令行 ```bash # 运行hello.lua lua hello.lua ``` ### 2. 使用交互式解释器 ```bash # 启动Lua解释器 lua # 在提示符后输入代码 > print("Hello, World!") Hello, World! # 使用Ctrl+D(Unix)或Ctrl+Z(Windows)退出 ``` ### 3. 使用IDE运行 如果你使用VSCode、ZeroBrane Studio或其他IDE,通常可以通过点击运行按钮或使用快捷键来运行程序。 ## 代码解析 让我们详细解析第二个示例程序: 1. **注释** ```lua -- 这是一个注释 ``` Lua中的单行注释以两个连字符(`--`)开始。 2. **变量声明** ```lua local name = "Lua" local version = 5.4 ``` - `local`关键字声明局部变量 - 变量可以存储不同类型的值(字符串、数字等) 3. **字符串操作** ```lua local greeting = "Welcome to " .. name .. " " .. version ``` - `..`是字符串连接操作符 - 数字会自动转换为字符串 4. **内置函数** ```lua print(string.format("Today is %s", os.date())) ``` - `print`:输出信息 - `string.format`:格式化字符串 - `os.date`:获取当前日期时间 5. **基本运算** ```lua local result = 10 + 20 ``` - Lua支持基本的算术运算 ## 练习示例 尝试编写以下程序来熟悉Lua编程: ### 1. 个人信息打印 ```lua -- 创建person.lua local name = "张三" local age = 25 local job = "程序员" print("个人信息:") print(string.format("姓名:%s", name)) print(string.format("年龄:%d", age)) print(string.format("职业:%s", job)) ``` ### 2. 简单计算器 ```lua -- 创建calculator.lua local num1 = 30 local num2 = 15 print(string.format("%d + %d = %d", num1, num2, num1 + num2)) print(string.format("%d - %d = %d", num1, num2, num1 - num2)) print(string.format("%d * %d = %d", num1, num2, num1 * num2)) print(string.format("%d / %d = %.2f", num1, num2, num1 / num2)) ``` ### 3. 时间显示 ```lua -- 创建time.lua local current_time = os.date("*t") print(string.format( "现在是%d年%d月%d日 %d:%02d:%02d", current_time.year, current_time.month, current_time.day, current_time.hour, current_time.min, current_time.sec )) ``` ## 常见问题解答 ### Q1: 为什么要使用local关键字? `local`声明的是局部变量,作用域仅限于声明它的块。相比全局变量,局部变量: - 访问速度更快 - 不会污染全局命名空间 - 代码更容易维护 ### Q2: print和string.format有什么区别? - `print`:直接输出内容 - `string.format`:先格式化字符串,返回格式化后的结果 ### Q3: 如何编写多行注释? ```lua --[[ 这是一个 多行注释 --]] ``` ## 下一步 现在你已经学会了编写和运行简单的Lua程序,可以继续学习[变量与数据类型](/article/lua/basic/variables)来深入了解Lua的基础知识。 ## 参考资源 - [Lua官方教程](http://www.lua.org/pil/) - [Lua参考手册](http://www.lua.org/manual/5.4/) - [Lua在线练习](https://www.lua.org/cgi-bin/demo)