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 天前
Windows下载、安装neovim-v0.12.4(附安装包nvim-win64.msi)
windows·编辑器·vim·lua·终端·lsp·neovim
烤代码的吐司君2 天前
Lua 脚本
开发语言·junit·lua
寒水馨2 天前
macOS下载、安装neovim-v0.12.4(附安装包nvim-macos-arm64.tar.gz)
macos·vim·lua·文本编辑器·终端·lsp·neovim
背书包的甜瓜3 天前
Python Excel转lua配置工具
lua
minglie14 天前
esp32集成lua
lua
番茄炒鸡蛋加糖4 天前
Redis--Lua 脚本原子性与滑动窗口限流
数据库·redis·lua
星空露珠5 天前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
吴声子夜歌14 天前
Redis 3.x——事务与Lua
redis·lua
豆瓣鸡16 天前
Redis Lua 脚本——把多条命令打包成一个原子操作
java·redis·lua
橙色阳光五月天17 天前
MATLAB函数如何打包成独立EXE
开发语言·matlab·lua