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

网上讲那么复杂。

相关推荐
liulilittle10 小时前
递归复制搜索所有的lua文件到指定目录
java·开发语言·lua·cmd
上海合宙LuatOS13 小时前
LuatOS 课程-011 讲:GNSS应用开发
网络·物联网·lua·luatos
LcGero1 天前
游戏引擎Luanti的前世今生与技术解析
游戏引擎·lua·游戏开发·我的世界·luanti
绿草在线3 天前
SpringBoot请求与响应全解析
spring boot·后端·lua
心之所向,自强不息3 天前
VSCode + EmmyLua 调试 Unity Lua(最简接入 + 不阻塞运行版)
vscode·unity·lua
weixin_408099674 天前
Lua请求文字识别ocr api
图像处理·人工智能·后端·ocr·lua·api·文字识别
上海合宙LuatOS4 天前
LuatOS扩展库API——【libfota】远程升级
物联网·junit·lua·luatos
拾贰_C6 天前
【Google | Gemini | API | POST】怎么使用Google 的Gemini API (原生版)
开发语言·lua
12亡灵归来346 天前
Postman高级用法:自动化测试与Mock
测试工具·lua·postman
chxii6 天前
lua 下载和配置环境变量
开发语言·lua