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

网上讲那么复杂。

相关推荐
开开心心_Every13 小时前
黄金价格软件国内外价格实时监控超方便
运维·服务器·游戏·智能手机·pdf·lua·perl
笨鸟先飞的橘猫2 天前
C 扩展开发指南:从 Lua 到 skynet 的完整链路
c语言·lua
贾宝玉的玉宝贾3 天前
FreeSWITCH 简单图形化界面 70 - 监听/密语的lua脚本
开发语言·junit·lua·voip·freeswitch·sip·ippbx
二喵❥(^_-)8 天前
接口测试流程的三个核心环节
开发语言·lua
小师兄吃牛肉14 天前
C++ 与 Lua 的协程交互:从原理到实战
c++·lua·交互
喜欢的名字被抢了14 天前
09-Redis 进阶原理篇:单线程、多线程、过期、LRU-LFU、Fork 与 Lua
数据库·redis·lua
白山编程大哥14 天前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
大侠归来17 天前
C++ 与 Lua 的协程交互:从原理到实战
c++·lua·交互
疯狂成瘾者17 天前
海康 Artemis 接口对接
开发语言·lua
一线灵18 天前
跨平台游戏引擎 Axmol-2.11.5 发布
游戏引擎·lua