The '''lrange''' command returns one or more adjacent elements from a list.<
> http://www.purl.org/tcl/home/man/tcl8.5/TclCmd/lrange.htm : '''lrange''' ''list first last'' ''List'' must be a valid Tcl list. This command will return a new list consisting of elements ''first'' through ''last'', inclusive. ''First'' or ''last'' may be '''end''' (or any abbreviation of it) to refer to the last element of the list. If ''first'' is less than zero, it is treated as if it were zero. If ''last'' is greater than or equal to the number of elements in the list, then it is treated as if it were '''end'''. If ''first'' is greater than ''last'' then an empty string is returned. Note: “`lrange list first first`” does not always produce the same result as “`lindex list first`” (although it often does for simple fields that aren't enclosed in braces); it does, however, produce exactly the same results as “`list [[lindex list first]]`” <> `set x [[lrange $x[set x {}]] 0 end` may be used to transform `$x` into a [pure list], which enhances performance in some situations. [LV]: To get the benefits of this, do I need to assign the lrange value to x? Is there a comparison of the various techniques for forcing a string to be a list with regards to performance - is lrange the fastest? <> ---- **See also** * [list] * [lappend] * [lindex] * [linsert] * [llength] * [lreplace] * [lsearch] * [lsort] <> Tcl syntax help | Arts and crafts of Tcl-Tk programming | Command