弱引用key
摘要:local t = {} setmetatable(t, {__mode="k"}) -- t的key是弱引用,一旦其他地方没有了对key的引用,那么t里的这个字段也会被删除 local key1 = {name="key1"} t[key1] = 1 key1 = nil collectgarba
阅读全文
coroutine
摘要:local function foo(a) print("foo: ", a) return coroutine.yield(2 * a) end local co = coroutine.create(foo) print(coroutine.resume(co, 1)) -- true, 2 *
阅读全文
table.extract
摘要:展开表: local extract extract = function (t, key, ...) -- print("extract key: ", key, type(t), t) if not key then return t end if not t then return nil e
阅读全文
xpcall 用法
摘要:local function f(x, y) print("f args: ", x, y) error("f error") -- raise error end -- 1 local function error_handler(err) print(err) return debug.trac
阅读全文
Lua基础备忘
摘要:##数据类型lightuserdata 指针地址,由c管理生命周期。userdata 地址,交由lua的gc来控制。 ##闭包#表现1)函数内部可以访问函数外部的变量2)lua文件是一个匿名函数#实现c函数以及绑定在c函数上的upvalues#用lua_pushcclosure来创建c闭包#通过lu
阅读全文