[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [OSSTEST PATCH 04/10] tcl/osstestlib.tcl: Provide lshift
Ian Campbell writes ("Re: [OSSTEST PATCH 04/10] tcl/osstestlib.tcl: Provide lshift"): > On Fri, 2015-02-06 at 19:17 +0000, Ian Jackson wrote: > > +proc lshift {listvar} { > > + upvar 1 $listvar list > > + set head [lindex $list 0] > > + set list [lrange $list 1 end] > > You calculate but then throw away list here? No. > Perhaps I need to read up on tcl scoping rules ;-) Yes :-). "upvar" is a magic scoping tool. "upvar $listvar list" means "take the variable which in my callers scope has the name contained in the variable which in my variable `listvar', and bring it into my own scope as a variable called `list'". The caller is expected to pass the name of its variable as the actual parameter. The effect is that someone who host set l {1 2 3} set f [lshift l] finds that afterwards l contains `2 3' and f contains `1'. > Anyway, with or without this last quoted line, whichever you intend: > Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |