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

网上讲那么复杂。

相关推荐
Winston-Tao10 小时前
Skynet实践之「Lua C 模块集成—优先级队列」
c语言·lua·游戏开发·skynet·游戏服务器框架
今天多喝热水2 天前
Lua 初级教程
lua
龙哥·三年风水3 天前
openresty(nginx)+lua+kafka实现日志搜集系统
kafka·lua·openresty
天堂的恶魔9465 天前
软件测试 —— Postman(全局变量和环境变量,请求前置脚本,关联)
测试工具·lua·postman
xiao-xiang10 天前
nginx-lua模块安装
运维·nginx·lua
利来利往10 天前
lua下标是可以从0开始
lua
qq_3564086611 天前
redis监控会不会统计lua里面执行的命令次数
redis·junit·lua
請叫我菜鳥11 天前
什么是 OpenResty
nginx·lua·openresty
我是單身你是狗12 天前
token
开发语言·lua
maply12 天前
如何编写和运行 Lua 脚本优化复杂的 Redis 操作
开发语言·数据库·redis·消息队列·lua