移植到Lua 5.2,Lua_GLOBALSINDEX
在代码示例中: 代码如下:移植到Lua 5.2,Lua_GLOBALSINDEX,lua,lua-5.2,Lua,Lua 5.2,在代码示例中: 代码如下: 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_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_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX);
我对Lua来说太新了,我已经8个月没用了。查看文档,我认为这是正确的,但希望验证 而不是
lua_setable(L,lua_GLOBALSINDEX)代码>使用lua_setglobal(L,T::className)代码>。这在Lua 5.1和5.2中都适用。是的,但我是否正确使用了Lua_setglobal()?lua_值(L,方法);lua_setglobal(L,T::className)@ComServant,如果T::className
是char*
,则是。它不起作用吗?
lua_pushstring(L, T::className);
lua_pushvalue(L, methods);
lua_settable(L, LUA_GLOBALSINDEX);