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

网上讲那么复杂。

相关推荐
xingpanvip17 小时前
星盘接口开发文档:马盘次限盘接口指南
android·开发语言·python·php·lua
selt79121 小时前
Redisson 源码深度分析
java·c++·redis·lua
FFZero121 小时前
[mpv脚本系统] (三) C 函数如何注册成 Lua 模块
c++·音视频·lua
Kingairy1 天前
LUA环境搭建
开发语言·lua
章老师说1 天前
B站网关事故背后:OpenResty 与 Lua 的稳定性代价
nginx·云原生·负载均衡·lua·openresty
Trouvaille ~1 天前
【Redis篇】Redis 事务:原子性与脚本执行机制
数据库·redis·后端·算法·junit·lua·原子性
FFZero11 天前
[mpv脚本系统] (二) Lua三层闭包实现自动资源管理
junit·单元测试·lua
闪电悠米2 天前
黑马点评-分布式锁-03_lua_atomic_unlock
java·数据库·分布式·缓存·oracle·wpf·lua
x***r1513 天前
Postman-win64-7.2.2-Setup安装步骤详解(附API接口测试与参数配置教程)
开发语言·lua
liulilittle3 天前
麻将牌堆渲染(Lua)
开发语言·lua