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

网上讲那么复杂。

相关推荐
Wang's Blog16 小时前
Lua: 事件处理深度解析之从协程到跨平台架构实践
junit·架构·lua
码上宝藏20 小时前
从解耦到拓展:Clapper 0.10.0 插件化架构设计与 Lua 脚本集成
linux·开发语言·lua·视频播放器·clapper
蜀中孤鹰20 小时前
从秒级到毫秒级:一次Redis限流脚本的深度优化实战
redis·spring cloud·lua
Wang's Blog2 天前
Lua: Web应用开发之OpenResty与Lapis框架深度指南
lua·openresty
木风小助理2 天前
Shell编程中awk命令详解:从基础到高阶应用
lua
每天回答3个问题2 天前
Lua数组
ue4·lua·虚幻引擎
每天回答3个问题3 天前
Lua 字符串
ue4·lua
Wang's Blog4 天前
Lua: 基于协程的生产者-消费者模型实现
开发语言·lua
Wang's Blog4 天前
Lua: 协程编程详解之从基础到多任务处理与应用实战
开发语言·lua
I小码哥4 天前
Windows 安装 Chocolatey 包管理器
lua