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

网上讲那么复杂。

相关推荐
莱茵不哈哈9 小时前
OpenResty 深度解析:构建高性能 Web 服务的终极方案
nginx·lua·kong·openresty·conf
技术宝哥1 天前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
kaixin_learn_qt_ing2 天前
脚本语言Lua
lua
搞不懂语言的程序员3 天前
Redis的Pipeline和Lua脚本适用场景是什么?使用时需要注意什么?
数据库·redis·lua
莱茵不哈哈3 天前
初探 Skynet:轻量级分布式游戏服务器框架实战
lua·c·skynet
·云扬·4 天前
【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现
redis·算法·lua
Aric_Jones5 天前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Petrichorzncu5 天前
Lua再学习
开发语言·学习·lua
mikey棒棒棒5 天前
lua脚本+Redission实现分布式锁
redis·分布式·lua·看门狗·redission
weixin_428498496 天前
在Lua中使用轻量级userdata在C/C++之间传递数据和调用函数
c语言·c++·lua