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

网上讲那么复杂。

相关推荐
Maguyusi4 天前
go 批量生成c++和lua proto文件
c++·golang·lua·protobuf
foxsen_xia4 天前
Kamailio通过Lua写路由
开发语言·lua·信息与通信
码农周7 天前
nginx + Lua 实现域名访问日志统计
nginx·lua
難釋懷8 天前
Lua脚本解决多条命令原子性问题
开发语言·lua
AI_567811 天前
Postman接口测试提速技巧:批量请求+智能断言实践
测试工具·lua·postman
小王不爱笑13214 天前
Postman 使用教程
测试工具·lua·postman
TracyCoder12315 天前
Redis 进阶之路:探秘事务、Lua 与特殊数据结构
数据结构·redis·lua
星空露珠16 天前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
星空露珠16 天前
速算24点检测生成核心lua
开发语言·数据库·算法·游戏·lua
想做后端的前端18 天前
Lua的热更新
开发语言·lua