Как создать 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.
Скажите что тут не правильно?