随笔分类 - lua
摘要:-- 定义一个双向链表节点 local Node = {} Node.new = function(key, value) local node = {} node.key = key node.value = value node.prev = nil node.next = nil return
阅读全文
摘要:lua里面没有类似C++的三元运算符 a?b:c。 第一种实现 if-else -- 三元运算符 function iif(condition, a, b) if condition then return a else return b end end 第二种实现 一般化的 a and b or
阅读全文
摘要:项目中会经常要判断表是否是空表。 直接用表与{}比较,是错误的。 local a = {} if a == {} then print("a 是空表") else print("a 不是空表") end # 输出:a 不是空表 table是引用变量,这里比较的是a的地址和匿名table的地址,地址不
阅读全文
摘要:function reloadModule(module_name) local old_module = package.loaded[module_name] or {} package.loaded[module_name] = nil require(module_name) local n
阅读全文
摘要:执行lua时报错:too many C levels (limit is 200) in function at line 5 near 出现这个错误,表示lua文件出现了循环调用。即循环require。 A require B B require A 解决方法: 找出循环引用,然后把B合入A中,消
阅读全文
摘要:复盘报告:lua的pbc绑定,表中的对象修改后没有生效 问题 项目中lua使用的pbc做数据绑定,遇到一个问题,发现修改表中的对象后,值没有生效,仍然为原值。 经过一番查询发现也有人遇到了这个问题:https://blog.codingnow.com/2012/04/pbc_improved.htm
阅读全文
摘要:检查lua内存泄露
阅读全文