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

网上讲那么复杂。

相关推荐
qhs157317 小时前
解决 LuaJIT 报错:unknown luaJIT command or jit.* modules not installed
lua
luanma15098018 小时前
Laravel 8.X重磅特性全解析
前端·javascript·vue.js·php·lua
luanma15098018 小时前
Laravel 7.X核心特性深度解析
android·开发语言·php·lua·laravel
上海合宙LuatOS1 天前
LuatOS扩展库API——【air153C_wtd】外部硬件看门狗
物联网·lua·air153c_wtd 库
上海合宙LuatOS1 天前
LuatOS核心库API——【ymodem】文件传输协议
物联网·lua·ymodem协议
上海合宙LuatOS1 天前
LuatOS核心库API——【xxtea】XXTEA加解密算法
lua·xxtea分组加密算法
上海合宙LuatOS2 天前
LuatOS扩展库API——【airlbs 】airlbs 定位服务
物联网·lua·嵌入式实时数据库·airlbs定位服务
上海合宙LuatOS2 天前
LuatOS扩展库API——【dhcpsrv】DHCP服务器
物联网·开源·lua·luatos
luanma1509802 天前
PHP vs Lua:脚本语言核心差异解析
开发语言·php·lua
AI-小柒4 天前
DataEyes聚合平台新API接入实战指南:从0到1打通实时数据链路
大数据·运维·开发语言·人工智能·python·自动化·lua