我有一张如下表格。
Table = {
1, 2, 3,
6, 7, 8,
11, 12, 13,...
}
我想阅读该表并说明读取了多少个值,我在下面的代码中遇到的问题越多,读取PANIC时总会出现以下错误:调用Lua API时出现无保护错误
我正在使用lua 5.2,这里指出了错误
lua_getfield (L, -1, "Table");
有人可以帮我解读这个,我是lua的新人。
void read_table(void) {
int var1;
long double var2;
lua_State *L;
L = = luaL_newstate();
luaL_openlibs(L);
if (luaL_loadfile(L, "table.lua") || lua_pcall(L, 0, 0, 0)) {
printf("cannot run cofig file: %s\n");
return;
}
else {
lua_getfield(L, -1, "Table");
if (lua_type(L, -1) == 5) {
var1 = 1;
while (1)
{
lua_pushnumber(L, var2);
lua_gettable(L, -2);
if (!lua_isnumber(L, -1))
break;
lua_tonumber(L, -1);
lua_settop(L, -2);
++var1;
lua_close(L);
}
printf("table %d invalid\n", var1);
}
else {
printf("table should be a table\n");
}
}
printf("Reading %d numbers\n", var1);
}