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

网上讲那么复杂。

相关推荐
TracyCoder1231 天前
Redis 进阶之路:探秘事务、Lua 与特殊数据结构
数据结构·redis·lua
星空露珠2 天前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
星空露珠2 天前
速算24点检测生成核心lua
开发语言·数据库·算法·游戏·lua
想做后端的前端4 天前
Lua的热更新
开发语言·lua
澄风5 天前
Redis ZSet+Lua脚本+SpringBoot实战:滑动窗口限流方案从原理到落地
spring boot·redis·lua
Geoking.5 天前
【Redis】Redis 中的 Pipeline 与 Lua 脚本:高性能与原子性的两种武器
redis·lua
剑之所向6 天前
嵌入式之lua脚本
开发语言·junit·lua
plmm烟酒僧6 天前
使用 Lua 进行汽车 UDS 诊断:轻量级脚本化诊断新思路
嵌入式·lua·汽车电子·uds诊断·汽车诊断·can通信·诊断协议
假女吖☌7 天前
Lua 脚本
开发语言·lua
今天多喝热水7 天前
Lua脚本实现滑动窗口
java·开发语言·lua