lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


The reference manual clearly describes what can and cannot be done to
a table during traversal: modifying and clearing an existing field is
OK, assigning to a non-existing field is bad.
But what happens if I clear an existing field and then assign to it
again during one iteration? In pseudocode:

for k,v in pairs(t) do
  t[k] = nil
  if (<some condition>) then
    t[k] = <some other value>

Is this allowed? We've seen some intermittent errors in our code that
I suspect are coming from a pattern like described above.