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

网上讲那么复杂。

相关推荐
thekenofdis9 小时前
Lua脚本执行多个redis命令提示“CROSSSLOT Keys in request don‘t hash to the same slot“问题
redis·lua·哈希算法
霜绛20 小时前
Unity:lua热更新(一)——AB包AssetBundle、Lua语法
笔记·学习·游戏·unity·lua
霜绛20 小时前
Unity:lua热更新(二)——Lua语法(续)
笔记·学习·unity·游戏引擎·lua
FAREWELL000751 天前
Lua环境的配置 和 Lua的一些简单语法逻辑
开发语言·lua
FAREWELL000751 天前
Lua学习记录(1) --- Lua中的条件分支语句和循环语句
学习·lua
胖胖求游戏1 天前
Unity热更新——AB包和Lua
unity·游戏引擎·lua
FAREWELL000753 天前
Lua学习记录(3) --- Lua中的复杂数据类型_table
开发语言·学习·lua
天道有情战天下5 天前
Lua使用
开发语言·lua
独隅6 天前
在 Lua 中,你可以使用 `os.date()` 函数轻松地将时间戳转换为格式化的时间字符串
开发语言·lua
L.EscaRC9 天前
Lua语言知识与应用解析
java·python·lua