|
I have always found Peter Shook's "Unpack Tables by Name" patch very convenient with Lua 5.1. You could simply write local x,y,z in t in place of local x,y,z = t.x,t.y,t.z In Lua 5.2 the syntax of Shook's patch would appear to clash with that for lexical environments, because after "local x,y,z in t" the keyword "do" is expected.
It doesn't, the patch consumes 'in' token in the "localstat" context. So the only change you need is ambiguity checking, like now done with chained function calls: local x in t do f() endshould be ambiguous. See attached patch which is http://lua-users.org/files/wiki_insecure/power_patches/5.1/basic-from.patch
modified to compile against work2, and to report ambiguity.
Attachment:
unpack-patch.patch
Description: Binary data