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

网上讲那么复杂。

相关推荐
根哥的博客2 小时前
编译nginx-1.28.0支持lua语法
nginx·lua·openresty·nosql注入漏洞
8Qi83 小时前
Redis之Lua脚本与分布式锁改造
java·redis·分布式·lua
IMPYLH18 小时前
Lua 的 tonumber 函数
开发语言·笔记·后端·junit·游戏引擎·lua
想做后端的前端1 天前
Lua基础语法
junit·单元测试·lua
IMPYLH1 天前
Lua 的 type 函数
开发语言·笔记·后端·junit·lua
IMPYLH1 天前
Lua 的 tostring 函数
开发语言·笔记·junit·单元测试·lua
IMPYLH1 天前
Lua 的 setmetatable 函数
开发语言·笔记·后端·游戏引擎·lua
secondyoung4 天前
WPS宏使用:一键批量调整图片与表格格式
经验分享·word·lua·markdown·wps·vb
海哥20195 天前
原创Lua脚本压缩HTML网页源码,节省60%流量和带宽,找老板加薪
lua
geekmice5 天前
thymeleaf处理参数传递问题
开发语言·lua