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

网上讲那么复杂。

相关推荐
我是一颗柠檬8 小时前
【Java项目技术亮点】Redis Lua脚本原子化操作:高并发场景下的终极武器
java·redis·lua
笑虾21 小时前
Frida Hook Cocos2dx lua 3.15 的 lua 脚本
lua·cocos2d
IT策士1 天前
Redis 从入门到精通:事务与 Lua 脚本
redis·junit·lua
慧都小妮子1 天前
不想频繁改 PLC?用 DeviceXPlorer Lua 脚本把产线业务逻辑放到 OPC Server 层
java·junit·lua·takebishi·dxpserver·设备数据采集软件·opc server
利来利往2 天前
Lua 中 or 规则
lua
lpl3129055092 天前
skynet 共享数据原理
服务器·c语言·lua
lpl3129055092 天前
skynet 共享数据项目级应用
服务器·c语言·lua
闪电悠米3 天前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
闪电悠米3 天前
黑马点评-Redis 消息队列-04_stream_seckill_order
数据库·redis·分布式·缓存·oracle·junit·lua