联系我们
 课程时长 14 小时

课程大纲

Lua简介

  • 简要历史
  • Lua的目标、特性及非目标
  • Lua文档和教程资源
  • 安装Lua解释器
  • 设置并使用LuaRocks

基本语法和语义

  • 标识符
  • 注释、块注释
  • 全局变量及严格性强制
  • 局部变量
  • 独立程序、程序参数
  • 编译单元、块、表达式、分号

数据类型和数据结构

  • 基本类型:nil、boolean、number、string
  • 对象类型:function、userdata、thread、table
  • 引用/对象与基本值
  • 表在Lua中的重要性

表及其多功能性简介

  • 表作为关联数组
  • 表作为数值数组、序列

基本控制结构

  • if then elseif else end
  • while循环
  • repeat循环
  • 简单for循环

错误处理

  • 返回值与异常
  • 将返回值转换为异常
  • 将异常转换为返回值
  • 错误级别

示例程序

  • 多项式求值
  • 广度优先搜索
  • 额外练习

更多关于函数

  • 命名参数
  • 面向对象调用
  • 闭包
  • 柯里化
  • 尾调用
  • 多重赋值和返回
  • 可变参数

迭代器和协程

  • 通用for循环
  • 无状态与有状态迭代器
  • 迭代器与协程的区别

元表和元方法

  • 集合示例
  • __tostring元方法
  • 算术元方法
  • __index、__newindex元方法
  • __len元方法

模块和包

  • 使用模块
  • 创建模块
  • 将模块组织为包

面向对象编程

  • Lua中面向对象编程的构建块
  • 示例

讨论更高级的语言特性

  • 弱表
  • 终结器
  • 编译、eval、加载

要求

至少熟悉一种其他编程语言,并具备编程经验。如果熟悉其他脚本语言,则更易于理解Lua。

即将举行的公开课程

课程分类