lua_next

cpp 复制代码
       lua_pushnil(L);
        while(lua_next(L, -2))
        {
            // 栈状态:key : -2  value : -1
            // do something 
            lua_pop(L, 1);
        }

lua_next 先弹出一个值, 再放一对pair 到栈上, 参数 index 是表的位置

调用后: -1:value -2:key

因为会先弹出一个值,需要先pushnil ,用于弹出。

循环内 pop 后,将value弹出, 下次调用 lua_next时,将 key 弹出,再压入一对 kv

网上讲那么复杂。

相关推荐
晴夏。2 天前
unlua实现原理
游戏·ue5·ue4·lua·ue·unlua
晴夏。2 天前
c++调用lua的方法
c++·游戏引擎·lua·ue
chxii2 天前
lua中Table 与 Metatable
lua
xingpanvip3 天前
星盘接口开发文档:组合三限盘接口指南
android·开发语言·前端·python·php·lua
chxii4 天前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua
chxii4 天前
lua 基础语法(上)
开发语言·lua
xingpanvip5 天前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
xingpanvip5 天前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
咸鱼永不翻身6 天前
Lua脚本事件检查工具
unity·lua·工具
笑虾7 天前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d