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

网上讲那么复杂。

相关推荐
AI-小柒14 小时前
DataEyes聚合平台新API接入实战指南:从0到1打通实时数据链路
大数据·运维·开发语言·人工智能·python·自动化·lua
weixin_6665939916 小时前
一门“小”语言,如何让遥感时空平台触及性能天花板?
开发语言·lua
難釋懷1 天前
Lua语法入门-条件控制、函数
开发语言·junit·lua
難釋懷2 天前
Lua语法入门-变量和循环
开发语言·junit·lua
難釋懷4 天前
初识Lua
开发语言·junit·lua
難釋懷4 天前
Lua语法入门
junit·bootstrap·lua
liulilittle4 天前
范围随机算法实现
开发语言·c++·算法·lua·c·js
红黑色的圣西罗5 天前
Lua和C#交互探究记录
c#·lua·交互
@大迁世界6 天前
6 款轻量级 CLI 工具,取代了我臃肿的开发软件
开发语言·lua
无籽西瓜a6 天前
Docker 环境下 Redis Lua 脚本部署与执行
redis·docker·lua