lua-users home
lua-l archive

Re: Lexical environments

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


On 2010年2月03日 01:08:48 +0200, Gavin Wraith <gavin@wra1th.plus.com> wrote:
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() end
should 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


AltStyle によって変換されたページ (->オリジナル) /