|
|
||
|
On 04/10/2006, at 6:01 PM, David Olofson wrote:
procedure do_stuff(y)
{
for local x = 1, 10
for local y = 1, 10
<stuff>;
}
This will not compile, as the declaration 'local y' in the inner loop
tries to redeclare the 'y' argument of the procedure. Same thing if x
was declared outside the procedure; it wouldn't compile because
'local x' would be an attempted redeclaration.
However Lua currently allows redefinition, eg. local y = 1; f () -- uses 1st y local y = 2; f () -- uses 2nd yI'm not sure the the solution doesn't introduce its own problems, possibly numerically as many as the ones it tries to fix.
How about this? Make a "lint" program that detects these things, outside the Lua interpreter itself, which is trying to be small and compact.
- Nick