luaL_ref
スタックのトップにあるオブジェクトを指定したテーブル内に参照として追加し、ユニークな整数キーを返します。
[-1, +0, m]
c
int luaL_ref (lua_State *L, int t);説明
スタックのトップにあるオブジェクトのために、インデックスtのテーブル内に参照を作成し、返します(そしてそのオブジェクトをポップします)。
参照とはユニークな整数キーです。テーブルtに手動で整数キーを追加しない限り、luaL_refは返すキーの一意性を保証します。参照rによって参照されるオブジェクトは、lua_rawgeti(L, t, r)を呼び出すことで取得できます。関数luaL_unrefは参照とそれに関連付けられたオブジェクトを解放します。
スタックのトップにあるオブジェクトがnilの場合、luaL_refは定数LUA_REFNILを返します。定数LUA_NOREFは、luaL_refによって返される任意の参照と異なることが保証されています。
サンプルコード
c
int ref = luaL_ref(L, LUA_REGISTRYINDEX);このコードは、スタックトップのオブジェクトをレジストリに追加し、参照キーを返します。
互換性
- Lua5.1
関連項目
- luaL_unref
- lua_rawgeti