[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: [HELP!] invalid key to 'next'
- From: Norman Ramsey <nr@...>
- Date: Fri, 13 Apr 2007 16:34:58 -0400
> Norman Ramsey wrote:
> > /usr/local/bin/lua5.1: invalid key to 'next'
> > [...]
> > Here is a fragment of the source code:
> > assert(type(rset) == 'table')
> > for r in pairs(rset) do --- this is line 961
> > assert(papers[r][pnum], 'reviewed-by and papers are inconsistent')
> > I don't see how this can possibly be wrong, but evidently the compiler
> > sees something that I don't. Can anyone suggest what I might do?
> Compiler? Nope: the runtime.
> Does 'rset' happen to be a weak table or is rset modified inside
> the loop?
Bingo! rset is indeed modified instead the loop, and I did have a
test to exit, but I put
if found then break end
at the *beginning* of the loop (where I wouldn't forget it).
Moving that line to the *end* of the for loop fixes the bug.
Thanks! I knew I was being stupid. (I have been doing nothing but
this program for two days straight.)