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

网上讲那么复杂。

相关推荐
xingpanvip2 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
咸鱼永不翻身1 天前
Lua脚本事件检查工具
unity·lua·工具
笑虾1 天前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d
xingpanvip2 天前
星盘接口开发文档:日返比接口指南
开发语言·lua
xingpanvip2 天前
星盘接口开发文档:天象盘接口指南
android·开发语言·python·php·lua
tianyuanwo2 天前
Rust RPM Spec 中的动态宏定义:原理、原因与低版本兼容方案
rust·lua·spec
tianyuanwo3 天前
rpm spec文件为什么有时调用lua脚本语言而不是shell
lua·spec
liulilittle3 天前
递归复制搜索所有的lua文件到指定目录
java·开发语言·lua·cmd
上海合宙LuatOS4 天前
LuatOS 课程-011 讲:GNSS应用开发
网络·物联网·lua·luatos
LcGero4 天前
游戏引擎Luanti的前世今生与技术解析
游戏引擎·lua·游戏开发·我的世界·luanti