感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
Lua 简介
- 一点历史
- Lua的目标、特点和非目标
- Lua 文档和教程的资源
- 安装 Lua 解释器
- 设置和使用 LuaRocks
基本语法和语义
- 标识符
- 评论、阻止评论
- 全局变量和严格性的实施
- 局部变量
- 独立程序、程序参数
- 编译单元、块、表达式、分号
数据类型和数据结构
- 基本类型:nil、boolean、number、string
- 对象类型:函数、用户数据、线程、表
- 引用/对象与基本值
- Lua 中表格的重要性
介绍桌子及其多功能性
- 表作为关联数组
- 表作为数字数组、序列
基本控制结构
- if then elseelse 结束
- while 循环
- 重复循环
- 简单的 for 循环
错误处理
- 返回值与异常
- 将返回值转换为异常
- 将异常转换为返回值
- 错误级别
示例程序
- 多项式求值
- 广度优先搜索
- 其他练习
有关函数的更多信息
- 命名参数
- 面向对象的调用
- 闭 包
- 咖喱
- 尾部呼叫
- 多次分配和返回
- 瓦拉格斯
迭代器和协程
- 泛型 for 循环
- 无状态迭代器与有状态迭代器
- 迭代器和协程之间的差异
元表和元方法
- 设置示例
- __tostring元方法
- 算术元方法
- __index、__newindex元方法
- __len元方法
模块和软件包
- 使用模块
- 创建模块
- 将模块组织到包中
高级表
- 队列和堆栈的表
- 描述图形的表格
- 矩阵作为表
- 以表格形式链接的链表
- 字符串缓冲区
通过示例的元表
- 代理
- 只读
- 记忆
- 带记忆的动态编程
- 斐波那契例子
环境
- 全局变量与环境的关系
- 自由变量
- _ENV 表和 _G 表
有关模块的更多信息
- 创建模块的不同方法
- 更改行为的模块
- 模块初始化和参数
- 使用环境实现安全模块
高级迭代器和协程
- 生产者、消费者、过滤器
- 包装协程以获取迭代器
- 链表的无状态迭代器
为生态系统做贡献
- 将包裹上传到 MoonRocks
Lua 中的函数范式
- map 函数
- 缩小/折叠功能
面向对象 Programming
- 不同的 OOP 方法
- 不同的继承方法
- 例子
Lua 标准库演练
汇编
- 汇编
- 评估
- 与环境的关系
- 二进制块
垃圾回收
- 弱表
- 终结器,__gc元方法
Lua 字节码和虚拟机
- 从源代码生成字节码
- 读取和分析字节码
- 快速浏览 Lua VM 的源代码
C 模块
- 从 Lua 调用 C
- Search C 模块的路径和加载
从 C 调用 Lua
- 堆栈
- 错误处理
- 延续
处理 C 中的 Lua 值和类型
- 阵 列
- 字符串
- 用户数据
- 元表
- 面向对象的调用
- 轻量级用户数据
内存管理
- 25天
- 气相色谱 API
Lua 中的线程
- 协程与线程
- 真正的多线程和 Lua 状态
要求
熟悉至少一种其他编程语言。Programming 经验。或者,如果您熟悉其他脚本语言,这将使您更容易理解 Lua。
21 小时