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

网上讲那么复杂。

相关推荐
red_redemption15 小时前
自由学习记录(23)
学习·unity·lua·ab包
善良的修罗18 小时前
postman 最强内置函数使用集合
测试工具·lua·postman
unix2linux2 天前
YOLO v5 Series - Image & Video Storage ( Openresty + Lua)
yolo·lua·openresty
最后一个bug2 天前
如何理解Lua 使用虚拟堆栈
linux·c语言·开发语言·嵌入式硬件·lua
半夏知半秋4 天前
lua-lru缓存算法解析
笔记·学习·算法·缓存·lua
最后一个bug4 天前
C语言执行Lua进行错误处理
linux·服务器·c语言·开发语言·嵌入式硬件·lua
袁庭新4 天前
Lua如何连接MySQL数据库?
redis·mysql·lua·lua5.4·袁庭新
红黑色的圣西罗4 天前
Lua 实现继承的一种方式
开发语言·lua
weixin_428498495 天前
Lua资料
开发语言·lua
Clown956 天前
go-zero(四) 错误处理(统一响应信息)
开发语言·golang·lua