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

网上讲那么复杂。

相关推荐
FAREWELL000758 小时前
Lua学习记录(4) --- Lua中多文件调用 以及 关于位运算符的零碎知识点
开发语言·学习·lua
测试涛叔9 小时前
高频Postman软件测试面试题
测试工具·lua·postman
吃喝不愁霸王餐APP开发者12 小时前
霸王餐试吃资格发放:Redis HyperLogLog亿级去重与Lua脚本原子性
数据库·redis·lua
骑着蜗牛百米冲刺13 小时前
Postman自动化测试自动填充token
测试工具·lua·postman
黑客-秋凌13 小时前
接口测试工具(postman)
自动化测试·软件测试·测试工具·集成测试·lua·postman
测试界媛姐13 小时前
掌握Postman,开启API测试新纪元!
测试工具·lua·postman
FAREWELL0007514 小时前
Lua学习记录(5) --- Lua中的协同程序 也称线程Coroutine的介绍
开发语言·学习·lua
r***113314 小时前
【Java EE】Spring请求如何传递参数详解
spring·java-ee·lua
Chicheng_MA15 小时前
OpenWrt WebUI 交互架构深度解析
javascript·lua·openwrt
杀死那个蝈坦15 小时前
Redis 多级缓存:架构设计、核心问题与落地实践
开发语言·spring·青少年编程·golang·kotlin·maven·lua