lua
镇上村树
这个作者很懒,什么都没留下…
展开
-
Lua点号(英文句号)与冒号的区别
Lua点号(英文句号)与冒号的区别点号用于定义和调用函数的时候,不会传递self参数,不能够在函数内部使用self,否则报告错误。使用冒号定义和调用函数的时候,会自动将调用者实例自身作为self参数进行传递,此时函数能够使用self参数。例function Foo.foo(arg) self.data = 10 -- 发生错误,self未定义end调用:ins.foo(arg)原创 2017-12-18 12:09:22 · 874 阅读 · 0 评论 -
Lua: bad argument #(n) to 'function' (number expected, got string)错误的解决
用法foo = {};foo['a'] = 1;foo['b'] = 2;foo['c'] = 3;bar = {};bar[1] = 1;bar[2] = 2;bar[3] = 3;-- 打印结果:nil:因为ipairs无法遍历索引不是数字或索引不是从数字1开始的tablefor index,value in ipairs(foo) do print(in原创 2018-01-24 19:31:01 · 18748 阅读 · 0 评论 -
calling 'xxx' on bad self (foo except, got bar)
2018年5月2日20:26:35出现这种错误,将出错的位置中的函数调用的冒号调用修改为英文句点号调用即可。问题原因分析使用冒号调用,实际实现过程是将对象作为一个self参数在调用函数的时候传递;此时第一个参数不再是你写的第一个参数而是self参数即对象实例本身。如果是Lua调用C++情况下的解决办法在C++函数中使用:lua_remove(L, 1);...原创 2018-05-03 09:51:13 · 2037 阅读 · 0 评论