Jag är nästan säker på att du kan öka det antalet (8000
) genom att ändra LUAI_MAXCSTACK
värde i din miljös luaconf.h
och bygga om den (Lua-miljön).
Standard ett är, som du redan har märkt:
/*
@@ LUAI_MAXCSTACK limits the number of Lua stack slots that a C function
@* can use.
** CHANGE it if you need lots of (Lua) stack space for your C
** functions. This limit is arbitrary; its only purpose is to stop C
** functions to consume unlimited stack space. (must be smaller than
** -LUA_REGISTRYINDEX)
*/
#define LUAI_MAXCSTACK 8000
Bara det liknar en pornografi lite.
Vad sägs om att använda en tabell och iterera genom table.concat()
bitar av <=8000
nycklar?