[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Clearing tables
- From: "Wim Couwenberg" <w.couwenberg@...>
- Date: Sun, 18 May 2003 00:10:30 +0200
> This is probably more efficient in lua 5.0 (untested), and at
> the very least rather simpler:
>
> function zap(table)
> for k in table do
> table[k] = nil
> end
> end
I see, as long as no _new_ keys are inserted into a table during an
iteration, this is OK. It looks like field [k] is removed in the loop but
it is not, its value is merely set to nil. This is probably a (the?) reason
why tables don't shrink until assigning to a non-existing key?
Saves some trouble I guess. You can never be sure how "next" will respond
for a "non-defined" index though (success or failure will depend on the
"history" of the table so to speak) but you shouldn't use "next" for
non-defined keys anyway...
Bye,
Wim