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

网上讲那么复杂。

相关推荐
爱吃小胖橘3 天前
Lua语法
开发语言·unity·lua
东方芷兰3 天前
JavaWeb 课堂笔记 —— 20 SpringBootWeb案例 配置文件
java·开发语言·笔记·算法·log4j·intellij-idea·lua
1nullptr3 天前
Lua上值与闭包
开发语言·lua
半夏知半秋4 天前
skynet-socket.lua源码分析
服务器·开发语言·学习·架构·lua
夜猫逐梦8 天前
【lua】luajit 命令行使用指南
开发语言·lua
利来利往8 天前
【奇怪的bug】lua的nil不报错
开发语言·bug·lua
卓码软件测评12 天前
第三方登记软件测试报告:Postman验证API防篡改能力
开发语言·功能测试·性能优化·lua·postman·可用性测试
lanhuazui1012 天前
lua代码解析1
lua
ellis197013 天前
LuaC API开发环境搭建保姆级教程
c++·unity·lua
ellis197013 天前
toLua[二] Examples 01_HelloWorld分析
unity·c#·lua