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

网上讲那么复杂。

相关推荐
海哥201917 小时前
原创Lua脚本压缩HTML网页源码,节省60%流量和带宽,找老板加薪
lua
geekmice20 小时前
thymeleaf处理参数传递问题
开发语言·lua
geekmice1 天前
Thymeleaf传递复杂对象参数解决思路
开发语言·lua
星空露珠2 天前
lua获取随机颜色rgb转换hex
数据结构·数据库·算法·游戏·lua
杀死那个蝈坦2 天前
监听 Canal
java·前端·eclipse·kotlin·bootstrap·html·lua
杀死那个蝈坦2 天前
Lua核心认知
开发语言·lua
杀死那个蝈坦2 天前
Redis 缓存预热
java·开发语言·青少年编程·kotlin·lua
FAREWELL000752 天前
Lua学习记录(6) --- Lua中的元表相关内容
开发语言·学习·lua
FAREWELL000753 天前
Lua学习记录(4) --- Lua中多文件调用 以及 关于位运算符的零碎知识点
开发语言·学习·lua
测试涛叔3 天前
高频Postman软件测试面试题
测试工具·lua·postman