This page is part of the Tcl/Tk page of the Airplug documentation.
Back to the Tcl/Tk page /
Back to Airplug documentation page.
—
<br>
A list is defined by
set lst [list a b c d]
Adding an element is done using lappend
, which modify the list (here lst
variable is referred without $
):
lappend lst "e" puts stdout "lst = $lst" # lst = a b c d e
Replacing some elements can be done using lreplace
. However this call does not modify the list. Instead it returns a new list.
set newlst [lreplace $lst 1 2 "z"] puts stdout "lst = $lst" # lst = a b c d e puts stdout "newlst = $newlst" # newlst = a z d e
Obtaining the index of an element in a list can be done using lsearch
:
set i [lsearch $lst "b"] puts stdout "i = $i" # i = 1
The following code allows to remove an element from the list (supposing it is unique):
set element "b" set i [lsearch $lst $element] set lst [lreplace $lst $i $i] puts stdout "lst = $lst" # lst = a c d e
Finally, to remove all occurences of a given element, one may proceed as follows:
set lst [list a b c b d b b] puts stdout "lst = $lst" set element "b" while { [set i [lsearch $lst $element]] != -1 } { set lst [lreplace $lst $i $i ] puts stdout "$element found at index i = $i; now lst = $lst" }
which gives the following output:
lst = a b c b d b b b found at index i = 1; now lst = a c b d b b b found at index i = 2; now lst = a c d b b b found at index i = 3; now lst = a c d b b found at index i = 3; now lst = a c d
<br>
This page is part of the Tcl/Tk page of the Airplug documentation.
Back to the Tcl/Tk page /
Back to Airplug documentation page.