Как создать Lua таблицу через c++

Начал изучать LuaApi++ и столкнулся с проблемой создания Lua таблицы через c++

c++:

auto CreateTable = [](lua_State* L) ->int
{
lua_newtable(L);
lua_pushstring(L, "Hp");
lua_pushnumber(L, 100);
lua_settable(L, 1);
return 1;
};

int main()
{
setlocale(LC_ALL, "ru");

lua_State* L = luaL_newstate();
luaL_openlibs(L);

luaL_newmetatable(L, "HeroMetaTable");


lua_register(L, "CreateTable", CreateTable);

if (luaL_dofile(L, "script.lua") != LUA_OK)
{
    printf("Error: %s", lua_tostring(L, -1));
    lua_pop(L, 1);
    lua_close(L);
}

}

Lua:

Hero = CreateTable()

print(Hero.Hp) 

Код выводит 100.0.

Скажите что тут не правильно?


Ответы (0 шт):