Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void printLuaStack(lua_State* lua) {
- pln("========= content of stack from top to bottom: ===========");
- int stackSize = lua_gettop(lua); // 获得栈中元素个数
- for (int i=stackSize; i>0; --i) {
- pv("%d [%d]\t", i, -1 - (stackSize - i));
- int t = lua_type(lua, i); // 判断当前元素类型
- switch (t) {
- case LUA_TNUMBER:
- pv("%s: \t%.2f\n", lua_typename(lua, t), lua_tonumber(lua, i)); // 打印类型名称和值
- break;
- case LUA_TBOOLEAN:
- pv("%s: \t%d\n", lua_typename(lua, t), lua_toboolean(lua, i));
- break;
- case LUA_TSTRING:
- pv("%s: \t%s\n", lua_typename(lua, t), lua_tostring(lua, i));
- break;
- default:
- // LUA_TTABLE
- // LUA_TTHREAD
- // LUA_TFUNCTION
- // LUA_TLIGHTUSERDATA
- // LUA_TUSERDATA
- // LUA_TNIL
- pv("%s\n", lua_typename(lua, t)); // 不好打印的类型,暂时仅打印类型名称
- break;
- }
- }
- psln(stackSize);
- }
Add Comment
Please, Sign In to add comment