В примере кода: http://lua -users.org / wiki / SimplerCppBinding
Существует код:
lua_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX); //<--- LUA_GLOBALSINDEX removed in Lua 5.2
lua_pushliteral(L, "__metatable");
lua_pushvalue(L, methods);
lua_settable(L, metatable);
В Lua 5.2 LUA_GLOBALSINDEXболее не существует.Вместо этого у него есть lua_setglobal () и lua_getglobal ().
Правильно ли я считаю, что:
lua_pushvalue(L, methods);
lua_setglobal(L, T::className);
... является правильной заменой:
lua_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX);
Я слишком новичок в Lua, чтобы быть уверенным, я не использовал его в течение 8 месяцев.Глядя на документацию, я думаю , что это правильно, но хотел бы проверить.