入栈
lua_getfield (lua_State *L, int index, const char *k);
将t[k] 的值压栈, 这里的 t 是栈索引
index 处的值, 可能触发__index
lua_getglobal (lua_State *L, const char *name)
#define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, s)
把全局变量 name 里的值压栈
lua_getmetatable (lua_State *L, int index);
如果索引index处的值有元表,则将其元表压栈,返回 1 。 否则不会将任何东西入栈,返回 0
lua_gettable (lua_State *L, int index)
将t[k]值压栈, t是栈index处值, k是栈顶值,.这个函数会弹出栈顶的key值(把结果放在栈上相同位置)可能触发__index
lua_rawget (lua_State *L, int index)
同上,不会触发__index
lua_rawgeti (lua_State *L, int index, lua_Integer n)
把 t[n] 的值压栈, 这里的 t 是指给定索引 index 处的一个值, 不出发__index
lua_gettop (lua_State *L)
返回栈中元素的个数,同时也是栈顶元素的索引,0表示栈为空
lua_insert (lua_State *L, int