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

网上讲那么复杂。

相关推荐
小陈的进阶之路1 天前
postman-mcp-server
测试工具·lua·postman
上海合宙LuatOS3 天前
LuatOS扩展库API——【extp】触摸控制
嵌入式硬件·物联网·lua·luatos
上海合宙LuatOS3 天前
LuatOS扩展库API——【exvib】震动检测
开发语言·物联网·lua·luatos
TechExplorer3654 天前
Postman 9.12 安装、汉化、禁用更新
测试工具·lua·postman
liulilittle4 天前
Lua 浮点数比较
开发语言·junit·lua
rannn_1114 天前
【Redis|高级篇2】多级缓存|JVM进程缓存、Lua语法、多级缓存实现(OpenResty)、缓存同步(Canal)
java·redis·分布式·后端·缓存·lua·openresty
VT LI6 天前
Lua 源码执行流程全解析:词法分析、语法分析、字节码生成、虚拟机执行与垃圾回收
java·开发语言·lua
历程里程碑7 天前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
上海合宙LuatOS8 天前
LuatOS扩展库API——【exremotefile】远程文件管理系统
物联网·lua·luatos
上海合宙LuatOS8 天前
LuatOS扩展库API——【exremotecam】网络摄像头控制
开发语言·网络·物联网·lua·luatos