一:LUA_API int (lua_gettop)(lua_State* L)
用途:返回栈顶元素的索引
由于索引是从1开始,所以这个值就等于栈上的元素数量, 0则表示空

二:LUA_API void (lua_settop)(lua_State* L, int idx)
用途:将堆栈的栈顶设为idx这个索引。如果新的栈顶比原来的大,超出部分的新元素将被填为nil。如果index为 0 ,把栈上所有元素移除

三:LUA_API void (lua_pushvalue)(lua_State* L, int idx)
用途: 找到Idx位置的value,压入栈顶

四:LUA_API void (lua_insert)(lua_State* L, int idx)
用途:找到idx索引的位置,将栈顶的value放在这个位置
会引发idx位置以上的元素向上移动一个位置,以便空出idx的位置

五:LUA_API void (lua_remove)(lua_State* L, int idx)
用途:找到idx索引的位置,删除这个位置上的value
会引发idx以上的元素向下依次移动一个位置,栈减少一个元素

六:LUA_API void (lua_replace)(lua_State* L, int idx)
用途:将id索引的位置设置为栈顶的value, 然后移除栈顶value

网友评论