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

网上讲那么复杂。

相关推荐
chxii14 小时前
lua流程控制语句和table(表)数据结构
开发语言·junit·lua
chxii17 小时前
lua 基础语法(上)
开发语言·lua
xingpanvip2 天前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
xingpanvip2 天前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
咸鱼永不翻身3 天前
Lua脚本事件检查工具
unity·lua·工具
笑虾4 天前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d
xingpanvip4 天前
星盘接口开发文档:日返比接口指南
开发语言·lua
xingpanvip5 天前
星盘接口开发文档:天象盘接口指南
android·开发语言·python·php·lua
tianyuanwo5 天前
Rust RPM Spec 中的动态宏定义:原理、原因与低版本兼容方案
rust·lua·spec
tianyuanwo5 天前
rpm spec文件为什么有时调用lua脚本语言而不是shell
lua·spec