【发布时间】:2014-12-25 22:06:01
【问题描述】:
如何在 C 中获取 Lua 表的大小?
static int lstage_build_polling_table (lua_State * L) {
lua_settop(L, 1);
luaL_checktype(L, 1, LUA_TTABLE);
lua_objlen(L,1);
int len = lua_tointeger(L,1);
printf("%d\n",len);
...
}
我的 Lua 代码:
local stages = {}
stages[1] = stage1
stages[2] = stage2
stages[3] = stage3
lstage.buildpollingtable(stages)
它总是打印 0。我做错了什么?
【问题讨论】:
-
“表的大小”是一个奇怪的术语。如果表具有手册中定义的序列,则您将获得表中序列的长度(可能为 0),否则不确定。
标签: c lua lua-table lua-api lua-5.1