200 это количество локальных переменных по умолчанию для одной функции. В этом месте QLua собрана без изменений
Код |
---|
/*
@@ LUAI_MAXVARS is the maximum number of local variables per function
@* (must be smaller than 250).
*/
#define LUAI_MAXVARS 200
|
причем это количество локальных переменных для одного блока кода
Код |
---|
MAX_LOCALS=arg[1] or 200
for i=1, MAX_LOCALS do
if i%10 ==0 then
io.write("\n")
end
io.write(string.format("local x%03d ", i))
end
io.write("\n")
print("function foo()\n")
io.write("\t")
for i=1, MAX_LOCALS do
if i%10 ==0 then
io.write("\n\t")
end
io.write(string.format("local x%03d ", i))
end
print("\n\treturn 1\nend\n")
print("function foo1()\n")
io.write("\t")
for i=1, MAX_LOCALS do
if i%10 ==0 then
io.write("\n\t")
end
io.write(string.format("local x%03d ", i))
end
print("\n\treturn 1\nend\n")
|
при MAX_LOCALS <=200 генерируется вполне рабочий код, который Lua может обработать. Хотя лично я не представляю себе осмысленного кода с таким количеством локальных переменных.