本文介绍: 循环pop 后,将value弹出, 下次调用 lua_next时,将 key 弹出,再压入一对 kvlua_next弹出一个值, 再放一对pair 到栈上, 参数 index 是表的位置。因为会先弹出一个值,需要pushnil用于弹出。调用后: -1:value -2:key
       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

网上讲那么复杂

原文地址:https://blog.csdn.net/zhuaizi888/article/details/134686712

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31880.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注