lua_getglobal(L, t);
lua_pushinteger(L, k); -- 這里可以換成其它類型的 lua_pushXXXX(L, k) 壓數據到棧頂作key
lua_gettable(L, -2);
lua_getglobal(L, t);
lua_getfield(L, -1, k);
lua_next 函數針對 -2 處(參數指定)的 Table 進行遍歷。彈出 -1 處(棧頂)的值作為上一個 key(為 nil 時視為請求首個 key),壓入 Table 中的下一個 key 和 value。返回值表示是否存在下一個 key。
另外在循環中處理值時要記得隨時清理棧,否則 Table 就不在 -2 了。(也可以考慮在 lua_getglobal 后用 lua_gettop 存下 Table 的正數索引。)