Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
fooで作成されたメタテーブルを削除してluaL_newmetatable( L, "foo" );、luaL_getmetatable( L, "foo" );NIL 値を再度プッシュするにはどうすればよいですか?
foo
luaL_newmetatable( L, "foo" );
luaL_getmetatable( L, "foo" );
メタテーブルを削除しなければならない理由が何であれ、それは可能です。luaL_newmetatable(L, "foo")キーを持つLuaレジストリに格納されるテーブルを作成します"foo"。
luaL_newmetatable(L, "foo")
"foo"
"foo"テーブルを削除するには、レジストリのフィールドを に設定するだけnilです。C のコード:
nil
lua_pushnil(L); lua_setfield(L, LUA_REGISTRYINDEX, "foo");
Lua での同等のコード:
debug.getregistry()["foo"] = nil