源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Lua 学习笔记之C API 遍历 Table实现代码

  • 时间:2022-09-29 14:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Lua 学习笔记之C API 遍历 Table实现代码
Lua 通过一个虚拟栈与 C 的交互,正数索引自底向上取值,负数索引自顶向下取值。 Lua 中的 Table(表)结构可以使用任何数据作为 key 进行取值。使用 C API 访问 Table 中的元素有两种方法:
[url=http://www.lua.org/manual/5.1/manual.html#lua_next]手册[/url]中记载的遍历方法,但这种方法在遍历时并没有一定的遍历顺序,于是便又有了下面的方法。 [b]用整数 Key 进行并不那么完美的遍历[/b]
[u]复制代码[/u] 代码如下:
lua_getglobal(L, t); len = lua_objlen(L, -1); for (i = 1; i <= len; i++) {     lua_pushinteger(L, i);     lua_gettable(L, -2);     /* 此时栈顶即为 t[i] 元素 */     lua_pop(L, 1); }
这种方法无视了非整数 key,但可以保证遍历顺序。如果只关注整数 key,可以考虑用这种遍历方法 :)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部