![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
文章平均质量分 50
catalpeak
这个作者很懒,什么都没留下…
展开
-
Lua的内存泄露问题
Lua内存泄漏定义:已经没有使用的,但外部依然有引用的对象lua垃圾回收机制lua的GC使用 Mark And Sweep 标记清除算法该算法设计了三种颜色标记对象(如树遍历)white 未标记(没有被使用过)gray 已标记、但关联节点未标记black 已标记、且与之关联的节点都扫描标记了算法过程:Mark阶段:先将内存中所有对象扫描并标记。Sweep阶段:将所有未标记(white)的对象释放内存泄漏形式 (持续更新中)1.全局变量因疏忽写出的全局变量,会一直保存原创 2021-12-30 15:31:30 · 2298 阅读 · 1 评论 -
lua 中函数后面跟小括号和大括号的区别
func({param1, param2, …})func{param1, param2, …}偶尔会看到上面两种形式的函数调用该函数的定义一定如下所示local function func(param) if type(param) == "table" then -- TODO endend这是因为当函数有且只有一个参数,这个参数的类型是 table 或者 字符串 形式,可以在调用的时候省略小括号...原创 2020-10-27 22:42:38 · 1514 阅读 · 0 评论 -
巨垃圾的 lua BFS 实现
local QUEUE = require "queue".new()local map = {{0, 1, 1, 0, 0},{0, 0, 1, 1, 0},{0, 1, 1, 1, 0},{1, 0, 0, 0, 0},{0, 0, 1, 1, 0},}local visited = {}local function visit(pos) if pos and pos.x and pos.y then print(pos.x, pos.y, map[pos.x][pos.y原创 2020-10-27 15:46:44 · 254 阅读 · 0 评论 -
lua 循环的随机性
lua对于表的循环在lua中 循环遍历表时 都是随机遍历的。即每次取出数的顺序不同local table = {"1" = 1,"2"= 2,"3" = 3,}for i, v in pairs(table) do print(i, v)end执行上述代码的结果 可能是1 2 3的顺序输出,也可能是3 2 1 等等输出方式不过仅当表的key是字符串时是这样如果key是number的数字,那么遍历方式就会变成按照key的大小,从小到大按顺序遍历整个数组那么就没有方法对字原创 2020-09-04 17:48:58 · 532 阅读 · 0 评论 -
cocos2dx lua TextField 输入框 使用指南 BY 小曲奇~
cocos2dx TextField by 小曲奇~简介输入框承担了用户向内存中写入数据的角色cocos2dx 集成的可调用的输入框分为两种11.CC命名空间下的 TextFieldTTF 类2.CC->UI命名空间下的 UICCTextField 类前者继承自 label类 和 IMEDelegate类(键盘监听类)后者继承自 TextFieldTTF 类 和 TextFieldDelegate 类(只属于TextField的键盘监听类)如果分不清这二者 可以简单的理解原创 2020-08-29 16:48:03 · 1033 阅读 · 0 评论 -
cocos2dx lua 键盘输入分发机制
CCIMEDelegatecocos2dx 的键盘输入分发机制只在 TextField 和 EditBox 中有用到,只用用到该键盘监听机制的类才在理论上有字符输入能力用户输入有两种类型字符输入字符删除1. 输入键盘输入某个字符后系统触发 CCIMEDelegate 的 insertText 方法,执行该字符(串)的分发以 TextField 为例,TextField 类下的 insertText 方法被调用在 insertText 里调用 onTextFieldInser原创 2020-08-25 14:51:52 · 269 阅读 · 0 评论 -
lua 运算符相关问题
1. lua 运算符lua支持的运算符有 + - * / % ^(加、减/负、乘、除、取余、幂指)尤其要说的是幂指运算,这是大多数语言都不支持的,幂指运算不仅仅可以正指数,还可以负指数,贼牛逼print(2^10, 3^10, 4^0.5, -3^18, 4^-3, 6^-0.3)>>>1024.0 59049.0 2.0 -387420489.0 0.015625 0.58419068106787除了幂运算外,取余运算也是我们需要注意的,在Lua中(其原创 2020-08-05 10:11:07 · 1154 阅读 · 0 评论 -
lua 字符串的奇妙之处
lua 字符串和大多数语言的变量命名规则一样,不多介绍同时lua也可以使用转义字符作为字符串的内容不过lua也提供方法禁止使用转义字符print([==[123asdasd123\12\0\n\\\/\"\'\|\.]==])>>>123asdasd123\12\0\n\\\/\"\'\|\.------------print("123 asd asd123\12\0\n\\\/\"\'\|\.")>原创 2020-08-05 09:08:30 · 740 阅读 · 0 评论 -
lua 函数的上下文对函数的影响
函数返回值在上下文中的表现lua中函数的返回值可以有多个假如这个函数有三个返回值,在所有语境下他的返回值都是3个吗???来做个实验例子我们来看下面这段代码function test(a, b, c, d) print(a, b, c, d)endfunction f() return 1, 2, 3endtest(f(), 1)>>>1 1 nil nil>>>f()函数有三个返回值,打印数据可以看到,只输出了f()的一个原创 2020-08-04 00:58:16 · 266 阅读 · 0 评论 -
cocos2dx lua 监听模式实现
cocos2dx lua 监听模式1.在控制系统中申请监听事件池的内存self.listenEventList = {}2.在监听事件池中使用Key-Value键值对数据结构存储key中存储当前事件的名称value中存储事件发生后会出发的函数列表通过多次调用listenEvent函数,向其中加入需要监听的事件,就可以实现监听事件的注册function Controller:ListenEvent(key, tag, callback) self.listenEventList[ke原创 2020-07-29 15:14:27 · 492 阅读 · 0 评论 -
Lua学习笔记-2020.6-14
—————————————————————————————————————————————————————————Lua的循环for关键字有一个奇怪的问题,如下图:在循环table数据类型时,并不是按照数据在table表中声明的顺序输出的,原因是什么呢?字符串的连接字符是..print ("sdsad" .. "afggh")...原创 2020-04-23 23:28:44 · 141 阅读 · 0 评论