C言語で関数を実装したいのですが、この関数はテーブル引数で呼び出す必要があり、テーブル型の値を返す必要があります。
通常は以下のコードのように lua の C で関数を実装しますが、ライブラリには luaL_checktable と lua_pushtable がありません。
static int average(lua_State *L)
{
int n = lua_gettop(L);
double sum = 0;
int i;
for (i = 1; i <= n; i++)
{
sum += lua_tonumber(L, i);
}
lua_pushnumber(L, sum / n);
lua_pushnumber(L, sum);
return 2;
}