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

网上讲那么复杂。

相关推荐
IMPYLH8 小时前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
avi91118 小时前
Lua高级语法-第二篇
lua·游戏开发·编程语言·语法糖
雨中飘荡的记忆11 小时前
秒杀系统设计与实现
java·redis·lua
emo了小猫1 天前
Redis 执行 Lua 脚本过程中报错,会发生什么
redis·junit·lua
软件测试雪儿2 天前
高频Postman软件测试面试题
测试工具·lua·postman
12程序猿3 天前
postman调用文件(.xlsm---带宏的excel文件)下载接口成功下载excel文件,浏览器访问下载文件打不开
excel·lua·postman
霜绛4 天前
Unity:lua热更新(三)——Lua语法(续)
unity·游戏引擎·lua
百***35944 天前
【Java EE】Spring请求如何传递参数详解
spring·java-ee·lua
IMPYLH5 天前
Lua 的 pairs 函数
开发语言·笔记·后端·junit·单元测试·lua
这人很懒没留下什么8 天前
SpringBoot2.7.4整合Oauth2
开发语言·lua