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

网上讲那么复杂。

相关推荐
背书包的甜瓜9 小时前
Python Excel转lua配置工具
lua
minglie114 小时前
esp32集成lua
lua
番茄炒鸡蛋加糖1 天前
Redis--Lua 脚本原子性与滑动窗口限流
数据库·redis·lua
星空露珠2 天前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
吴声子夜歌11 天前
Redis 3.x——事务与Lua
redis·lua
豆瓣鸡13 天前
Redis Lua 脚本——把多条命令打包成一个原子操作
java·redis·lua
橙色阳光五月天14 天前
MATLAB函数如何打包成独立EXE
开发语言·matlab·lua
耀耀_很无聊18 天前
12_Redis Lua 脚本踩坑:为什么 tonumber(ARGV[x]) 会得到 nil?
java·redis·lua
章老师说19 天前
NGINX官方谈Lua风险:这其实是两条网关技术路线之争
运维·nginx·负载均衡·lua·openresty
会周易的程序员20 天前
使用 LuaBridge 封装 C++ 日志库 microLog 为 Lua 模块
c++·物联网·junit·lua·日志·iot·aiot