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 天前
【ai写代码】lua-判断表是否被修改
lua
陈天cjq3 天前
Redis 实用型限流与延时队列:从 Lua 固定/滑动窗口到 Streams 消费组(含脚本与压测)
redis·junit·lua
Warren983 天前
Lua 脚本在 Redis 中的应用
java·前端·网络·vue.js·redis·junit·lua
柯南二号4 天前
MacOS 系统计算机专业好用工具安装
开发语言·lua
神洛华4 天前
Lua语言程序设计2:函数、输入输出、控制结构
开发语言·lua
测试界清流8 天前
Postman接口测试入门
开发语言·lua
Volunteer Technology8 天前
Lua基础+Lua数据类型
开发语言·junit·lua
Volunteer Technology9 天前
openresty-lua-redis案例
redis·lua·openresty
WaterRun12 天前
开源项目luaToEXE: 将.lua封装为自带解释器无lua环境依赖的可执行文件工具
lua
William一直在路上12 天前
LUA脚本语言
开发语言·lua