luaL_ref

[-1, +0, e]

  1. int luaL_ref (lua_State *L, int t);

针对栈顶的对象,创建并返回一个在索引 t 指向的表中的 引用(最后会弹出栈顶对象)。

此引用是一个唯一的整数键。只要你不向表 t 手工添加整数键,luaL_ref 可以保证它返回的键的唯一性。你可以通过调用 lua_rawgeti(L, t, r) 来找回由r 引用的对象。函数 luaL_unref 用来释放一个引用关联的对象

如果栈顶的对象是 nilluaL_ref 将返回常量LUA_REFNIL。常量 LUA_NOREF 可以保证和luaL_ref 能返回的其它引用值不同。