lua笔记
文章平均质量分 84
lua笔记
清蒸雪糕
一个小人物
展开
-
Lua笔记-Lua热更新原理
热更新原理Lua的require(modelname)把一个lua文件加载存放到package.loaded[modelname]。当我们加载一个模块时候,会先判断是否在package.loaded中存在,若存在则返回该模块,不存在才会加载(loadfile),防止重复加载。package.loaded是一个Tabel,其中包含了全局表_G、默认加载的模块(string,debug,package,io,os,table,math,coroutine)和用户加载的模块。最简单粗暴的热更新就是pa原创 2020-07-16 00:42:48 · 645 阅读 · 0 评论 -
lua重新学习笔记5(GC算法)
GC算法大体原理:遍历系统中的所有对象,看哪些对象没有被引用,没有引用关系的就认为是可以回收的对象,可以删除。从Lua 5.1开始,采用三色增量标记清除算法。好处:它不必再要求GC一次性扫描所有的对象,这个GC过程可以是增量的,可以被中断再恢复并继续进行的。3种颜色分类如下:白色:当前对象为待访问状态,表示对象还没有被GC标记过,这也是任何一个对象创建后的初始状态。换言之,如果一...原创 2020-03-22 22:51:56 · 600 阅读 · 0 评论 -
lua重新学习笔记4(lua的面向对象实现)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/yzf279533105/article/details/80099358————————————————版权声明:本文为CSDN博主「YZF_Kevin」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本...转载 2020-03-18 14:06:13 · 102 阅读 · 0 评论 -
lua重新学习笔记3(原表metatable以及元方法)
table中,可以重新定义的元方法有以下几个:__add(a,b) 加法__sub(a,b) 减法__mul(a,b) 乘法__div(a,b) 除法__mod(a,b) 取模__pow(a,b) 乘幂__unm(a) 相反数__concat(a,b) 连接__len(a) 长度__eq(a,b) 相等__lt(a,b) 小于__le(a,b) 小于等于__index...原创 2020-03-17 17:57:54 · 214 阅读 · 0 评论 -
lua重新学习笔记2(table表)
表CommonHeader:存放所有数据类型都通用的字段lu_byte flags:这是一个byte类型的数据,用于表示这个表中提供了哪些元方法。最开始这个flags是空的,也就是0,当查找一次后,如果该表中存在某个元方法,那么将该元方法对应的flag bit置为1,这样下一次查找时只需要比较这个bit就行了。每个元方法对应的bit定义在ltm.h文件中。lu_byte lsize...原创 2019-10-09 20:28:58 · 218 阅读 · 0 评论 -
lua重新学习笔记1(lua特性和string字符串)
GC(Garbage Collection,垃圾回收) 任何需要进行GC的Lua数据类型,必然以CommonHeader作为该结构体定义的最开始部分。可以将CommonHeader这个成员理解为一个基类的所有成员,而其他需要回收处理的数据类型均从这个基类继承下来,所以它们的结构体定义的开始部分就是这个成员。 GCObject这个联合体,将所有需要进行GC的数据类型全部囊括其...原创 2019-10-07 23:50:38 · 174 阅读 · 0 评论 -
Lua回调函数小结
转自:小塔博客1、菜单按钮的回调。这二者的回调是这么实现的,新建一个菜单或者是按钮,为了点击菜单或者按钮以后实现程序的逻辑,我们需要为菜单和按钮来绑定一个回调函数,于是乎,我们有了以下的代码。--定义菜单项的回调函数 local function item1_callback() --切换场景 local gameScene = requ转载 2016-01-05 19:07:06 · 1951 阅读 · 0 评论 -
lua-function
分类:lua(8) 第五章 Lua学习笔记之函数 函数有两个用途1. 完成指定功能,函数作为调用语句使用2. 计算并返回值,函数作为赋值语句的表达式使用function unpack(t,i) i = i or 1 if t[i] then return t[i],unpack(t,i + 1转载 2015-12-23 17:17:57 · 349 阅读 · 0 评论 -
Lua-require
require(modname)加载给定的模块.函数首先检查表package.loaded来判定modname是否已经存在.如果存在,则require返回package.loaded[modname]所存储的值否则它尝试为模块找到一个加载器(loader).要找到一个加载器,require首先查询package.preloaded[modname].如果它有值,该值(应该是一个原创 2015-12-23 16:06:50 · 539 阅读 · 0 评论