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

网上讲那么复杂。

相关推荐
智购科技自动售卖机厂家2 天前
从STM32到RK3588——自动售货机嵌入式主控方案的架构演进~YH
stm32·嵌入式硬件·物联网·架构·lua·零售·symfony
qq_370773094 天前
Unity游戏xLua逆向实战:从SO版本识别到Lua脚本热替换全链路
游戏·unity·lua
星空露珠8 天前
迷你世界3.0API,事件监听
开发语言·数据结构·数据库·游戏·lua
ellis19709 天前
u3d插件xLua[二]例2:U3DScripting,例3:UIEvent分析
unity·lua
寒水馨11 天前
Windows下载、安装neovim-v0.12.4(附安装包nvim-win64.msi)
windows·编辑器·vim·lua·终端·lsp·neovim
烤代码的吐司君11 天前
Lua 脚本
开发语言·junit·lua
寒水馨11 天前
macOS下载、安装neovim-v0.12.4(附安装包nvim-macos-arm64.tar.gz)
macos·vim·lua·文本编辑器·终端·lsp·neovim
背书包的甜瓜12 天前
Python Excel转lua配置工具
lua
minglie113 天前
esp32集成lua
lua
番茄炒鸡蛋加糖13 天前
Redis--Lua 脚本原子性与滑动窗口限流
数据库·redis·lua