如何用C API遍历Lua脚本中的表
在刚接触Lua不久,了解了许多理论知识后,就有一种跃跃欲试的冲动,想要自己动手写一段代码来试试。这也许是作为一个程序员所共有的想法吧!了解了一些Lua的C API后,在看到脚本里面用一个for循环遍历一张表时,就想利用这些API自己在C代码中实现这个遍历!可是找了很久,也试了很久,都没有找到一个可以实现遍历表的解决方案!在浩瀚的网络中,我苦苦查找了很久,最后终于找到了这个操作,以下是统计一张表中的字段个数:
1lua_pushnil(L);
2while (lua_next(L, -2) != 0)
3{
4 lua_pop(L, 1);
5 Count++;
6}```
7
8
9
10
11其中lua_next函数中第二个参数-2是表在堆栈中的索引位置!
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2007/2007-05-22-如何用C-API遍历Lua脚本中的表/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。