SESSION ID: 031
新手入门 第二课 Lua基础语法(判断语句与函数入门)
- 节课程总结:Lua基础语法(条件判断、逻辑运算与函数入门)
- 1. 课程标题
- Lua编程基础核心:条件判断、逻辑运算符与函数基本概念
- 2. 课程链接
- [VIDEO](https://acnr1yklaaqz.feishu.cn/minutes/obcnlj94cyh1y29fu5epr783)
- 3. 课程总结
### 本节课深入讲解了Lua编程中的三个核心基础概念
- 一、条件判断语句 (Conditional Statements)
### 1. 基本语法结构
- if 条件 then ... end
- if 条件 then ... else ... end
- if 条件1 then ... elseif 条件2 then ... else ... end
### 2. 真值判断规则(Lua特有)
- 只有false和nil被视为假值
- 其他所有值包括0、空字符串""、空表{}都被视为真值
- 与C语言等不同,0在Lua中为真
### 3. 比较运算符
- == 相等
- ~= 不相等
- >、<、>=、<= 大小比较
- 二、逻辑运算符 (Logical Operators)
### 1. and(逻辑与)
- 短路求值:从左到右,遇到第一个假值则返回该值
- 全为真时返回最后一个真值
- 示例:1 and 2 and 3 → 返回3
### 2. or(逻辑或)
- 短路求值:从左到右,遇到第一个真值则返回该值
- 全为假时返回最后一个假值
- 示例:nil or false or 5 → 返回5
### 3. not(逻辑非)
- 真值变假,假值变真
- 示例:not false → true,not 1 → false
### 4. 运算符优先级(从高到低)
- 三、函数基础 (Function Basics)
### 1. 函数定义
- function 函数名(参数列表)
-- 函数体
- return 返回值
- end
### 2. 函数调用
- 函数名(参数)
- 括号必须,即使无参数:函数名()
### 3. 参数传递
- 形参与实参一一对应
- 参数数量可灵活,多余参数忽略,缺少参数为nil
### 4. 函数作用域
- 全局函数:function func() ... end
- 局部函数:local function func() ... end
- 局部函数效率更高,推荐使用
### 5. 函数分类
- 自定义函数:自己编写
- 996引擎函数:引擎提供的接口
- Lua内置函数:print、type、数学库等
- 4. 学习方式
- 1. 理解核心概念:重点掌握Lua的真值判断规则
- 2. 动手实践:多写代码,特别是短路求值的应用
- 3. 代码阅读:学会阅读错误信息,理解堆栈跟踪
- 4. 优化思维:尝试用逻辑运算符简化条件判断
- 5. 项目驱动:结合实际需求编写功能函数
- 5. 作业练习
- 选择题(10题)
- 1. 在Lua中,以下哪个表达式结果为真?
[[0^^"false"^^{}^^nil]]
- 2. 表达式 1 and nil or 5 的结果是?
[[1^^nil^^5^^false]]
- 3. 以下哪个是Lua中合法的函数定义?
[[def func() end^^function func() end^^func:def() end^^define func() end]]
- 4. 局部函数使用什么关键字声明?
[[local^^var^^let^^const]]
- 5. 表达式 not 0 的结果是?
[[true^^false^^0^^nil]]
- 6. 短路求值中,false and func() 会如何执行?
[[执行func()^^返回false^^返回nil^^报错]]
- 7. 以下哪个比较运算符表示"等于"?
[[!=^^==^^<>^^~=]]
- 8. 运算符优先级中,哪个最高?
[[and^^or^^not^^+]]
- 9. 函数体结束的关键字是?
[[end^^stop^^done^^finish]]
- 10. 表达式 (1 or 2) and 3 的结果是?
[[1^^2^^3^^nil]]
- 问答题(5题)
- 1. ((短路语法的好处是什么))
- 2. ((local 为什么可以使代码效率更高))
- 3. ((尝试写一个聊天中 (查询说明书) 如果玩家的等级30级 那么提示玩家等级小于30级! ))
- 4. ((尝试如果返回值函数如果和获取到的值不一样 会发生什么?))
- 5. ((尝试写一个代码 获取玩家的等级 如果小于10级 那么运行函数A 大于10级 运行函数B))
### 学习建议
- 1. 每天至少练习30分钟Lua代码编写
- 2. 重点掌握短路求值的应用,这是Lua代码优化的关键
- 3. 养成使用局部变量的习惯
- 4. 学会调试,理解错误信息
- 5. 结合实际项目需求,从简单功能开始实践