lua-users home
lua-l archive

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


> Roberto Ierusalimschy wrote:
> >The construction "in t do command end"  will execute <command> with
> >all global variables being resolved in <t>.
> 
> Just to be sure I understood correctly:
> in the above example, if <command> modifies its global environment
> (e.g. by adding/changing variables), will the contents of <t> be
> accordingly changed after the execution of that line?

Yes. The semantics is exactly as Mark explained:

  in t do command end 

is translated to

  do
    local _temp = t;
    <command>
  end

and all acesses to <global> inside command are changed to _temp.global.

-- Roberto