课程入口
课程内容总结
本节课主要围绕Lua编程中的循环结构、表(table)操作和变量封装展开,分为以下几个核心部分:
1. 循环结构
-
**for
循环**
-
数字型循环:for i=start, end, step do ... end
- 用于固定次数的迭代(如遍历1~100)。
- 示例:打印1~10的平方、计算1~100的和。
-
特性:基于栈实现,效率高于while
循环,循环变量(如i
)作用域仅限于循环体内。
-
**while
循环**
-
**repeat
循环**
-
循环控制
break
:立即终止当前循环。
- 应用场景:在循环中满足特定条件时提前退出(如查找到目标值后终止遍历)。
2. 表(Table)操作
-
表的定义与初始化
- 示例:
t = {1, "hello", true, function() end}
,可存储任意类型数据。
- 键值对:显式指定键(如
t = {[1]=123, ["name"]="Alice"}
)。
-
表的遍历
- 数字索引遍历:
for i=1, #t do print(t[i]) end
(#t
获取数组部分长度)。
- 泛型遍历:后续课程讲解(如
pairs
迭代器)。
-
注意点
- 避免重复键导致覆盖。
- 表是Lua的核心数据结构,广泛用于游戏开发(如配置表、对象属性管理)。
3. 变量封装
-
系统变量与自定义变量
-
封装目标:将原生命令(如setVar
/getVar
)转换为易用的自定义函数。
-
示例:
function GetPlayerName(actor)
return GetBaseInfo(actor, 1) -- 封装获取角色名的逻辑
end
-
意义:提升代码可读性,为后续面向对象编程做准备。
4. 作业要求
-
封装变量命令
- 实现
SetVar
/GetVar
函数,支持系统变量和自定义变量的存取。
-
九九乘法表
- 使用循环打印九九乘法表,输出到游戏日志(如
print
)。
-
扩展练习
关键知识点
- 性能:
for
循环优于while
,因Lua虚拟机对数字循环有优化。
- 作用域:循环变量(如
i
)在循环结束后销毁,需注意外部访问问题。
- 表的使用:理解表的键值对结构是Lua编程的基础。