Je suis presque sûr que vous pourriez augmenter ce nombre (8000
) en changeant LUAI_MAXCSTACK
valeur dans luaconf.h
de votre environnement et le reconstruire (environnement Lua).
La valeur par défaut est, comme vous l'avez déjà remarqué :
/*
@@ 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
Seulement ça ressemble un peu à de la pornographie.
Qu'en est-il de l'utilisation d'une table et de l'itération dans table.concat()
morceaux de <=8000
clés ?