Lua 系统函数第一课(Lua系统函数入门:从小白到掌握基础)

image.png

Lua系统函数入门:从小白到掌握基础

上课日期:2025年5月15日

上课时间:下午 3:01

上课时长:约1小时


一、这节课到底在学什么?

这节课是Lua语言学习的核心环节,正式进入系统函数(内置函数) 的学习。老师用生动的比喻(如“识字”是基础,“小学课本”是996函数)说明了系统函数的重要性。课程目标是让大家理解Lua提供的各种内置工具(函数)是什么、怎么用,为后续编写复杂程序打下坚实基础。


二、课程时间线梳理

  • 课程开始 - 10分钟课程引入与概览。介绍了为什么要学系统函数,并概述了Lua 5.3版本中系统函数的主要类别(如math, string, table, io等)。

  • 10分钟 - 20分钟段:讲解了全局环境变量 _G。重点说明了 _G是一个存储所有全局变量的表,并演示了如何通过它动态访问变量。

  • 20分钟 - 30分钟段:讲解了**_VERSION(版本号)** 和 assert(断言) 函数。解释了断言的作用是“条件为假时报错”,并对比了断言与手动抛出错误 error()的异同。

  • 30分钟 - 40分钟段:简要介绍了垃圾回收机制的相关函数,说明其作用(手动管理内存)以及在实际开发中较少直接使用的原因(引擎通常自动处理)。

  • 40分钟 - 50分钟段:详细讲解了 dofile函数。重点分析了 dofile与之前学过的 require在加载文件上的核心区别:dofile每次都会重新加载执行,而 require会缓存已加载的模块

  • 50分钟 - 60分钟段:讲解了 getmetatable(获取元表) 和三种迭代函数

    1. pairs:用于遍历表(字典类型),无序
    2. ipairs:用于遍历数组,有序
    3. next手动迭代函数,是 pairs实现的基础,遍历也是无序的。

三、重点知识点总结

  1. _G:这是一个全局表,存储了所有的全局变量和函数。可以通过它进行动态变量访问,例如 _G["变量名"]

  2. _VERSION:一个存储当前Lua版本的全局变量,可以被修改,但通常视为只读。

  3. assert(条件, 错误信息)断言函数。当条件为假(false)时,会抛出错误并中断程序,用于调试。

  4. error(错误信息)主动抛出错误的函数,直接中断程序。

  5. dofile("文件名.lua")动态加载并执行指定Lua文件中的代码。每次调用都会重新加载

  6. dofilerequire的区别:这是重中之重!require缓存已加载的文件,避免重复加载;而 dofile不会缓存,每次都会执行。

  7. getmetatable(表):用于获取一个表的元表

  8. 迭代函数区别

    • pairs:遍历表中所有元素,顺序不固定
    • ipairs顺序遍历数组部分,遇到nil则停止。
    • next:手动迭代的基础,顺序也不固定

四、学完这节课你能掌握

  1. 理解Lua系统函数(内置函数) 的概念和重要性。
  2. 掌握**_G的用法,并能实现动态变量访问**。
  3. 会使用**assert**进行简单的条件判断和调试。
  4. 清楚区分**dofile require**在加载文件时的不同行为,并能在适当场景下选择使用。
  5. 会使用**getmetatable**来查看表的元表。
  6. 理解并能使用**pairs ipairs**来遍历不同的表结构,了解它们之间的区别。

课程评价:这节课老师讲解非常细致,善于运用比喻(如“识字”、“小学课本”)将抽象概念通俗化,帮助小白学员理解。对每个函数都进行了实际代码演示,特别是通过对比讲解(如 assertvs error, dofilevs require)来强化重点和难点,效果很好。课堂节奏适中,引导学员逐步深入,是一堂扎实的基础课。

课程链接,点击进入

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

举报

改内容来自
基础知识
进入
快速回复 返回顶部 返回列表