Tcl - Listen
Liste ist einer der grundlegenden Datentypen, die in Tcl verfügbar sind. Es wird zur Darstellung einer geordneten Sammlung von Artikeln verwendet. Es kann verschiedene Arten von Elementen in derselben Liste enthalten. Ferner kann eine Liste eine andere Liste enthalten.
Ein wichtiger Punkt ist, dass diese Listen vollständig als Zeichenfolgen dargestellt und bei Bedarf zu einzelnen Elementen verarbeitet werden. Vermeiden Sie also große Listen und in solchen Fällen; Array verwenden.
Liste erstellen
Die allgemeine Syntax für die Liste ist unten angegeben -
set listName { item1 item2 item3 .. itemn }
# or
set listName [list item1 item2 item3]
# or
set listName [split "items separated by a character" split_character]
Einige Beispiele sind unten angegeben -
#!/usr/bin/tclsh
set colorList1 {red green blue}
set colorList2 [list red green blue]
set colorList3 [split "red_green_blue" _]
puts $colorList1
puts $colorList2
puts $colorList3
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
red green blue
red green blue
red green blue
Element an eine Liste anhängen
Die Syntax zum Anhängen eines Elements an eine Liste ist unten angegeben:
append listName split_character value
# or
lappend listName value
Einige Beispiele sind unten angegeben -
#!/usr/bin/tclsh
set var orange
append var " " "blue"
lappend var "red"
lappend var "green"
puts $var
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
orange blue red green
Länge der Liste
Die Syntax für die Länge der Liste ist unten angegeben -
llength listName
Beispiel für die Länge der Liste ist unten angegeben -
#!/usr/bin/tclsh
set var {orange blue red green}
puts [llength $var]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
4
Listenelement im Index
Die Syntax zum Auswählen eines Listenelements an einem bestimmten Index ist unten angegeben:
lindex listname index
Beispiel für Listeneintrag am Index ist unten angegeben -
#!/usr/bin/tclsh
set var {orange blue red green}
puts [lindex $var 1]
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
blue
Element am Index einfügen
Die Syntax zum Einfügen von Listenelementen an einem bestimmten Index ist unten angegeben.
linsert listname index value1 value2..valuen
Ein Beispiel für das Einfügen eines Listenelements an einem bestimmten Index ist unten angegeben.
#!/usr/bin/tclsh
set var {orange blue red green}
set var [linsert $var 3 black white]
puts $var
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
orange blue red black white green
Elemente an Indizes ersetzen
Die Syntax zum Ersetzen von Listenelementen an bestimmten Indizes ist unten angegeben:
lreplace listname firstindex lastindex value1 value2..valuen
Ein Beispiel zum Ersetzen von Listenelementen an bestimmten Indizes ist unten angegeben.
#!/usr/bin/tclsh
set var {orange blue red green}
set var [lreplace $var 2 3 black white]
puts $var
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
orange blue black white
Set Item at Index
Die Syntax zum Festlegen des Listenelements an einem bestimmten Index ist unten angegeben:
lset listname index value
Ein Beispiel für das Setzen eines Listenelements auf einen bestimmten Index finden Sie unten -
#!/usr/bin/tclsh
set var {orange blue red green}
lset var 0 black
puts $var
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
black blue red green
Liste in Variablen umwandeln
Die Syntax zum Kopieren von Werten in Variablen ist unten angegeben -
lassign listname variable1 variable2.. variablen
Ein Beispiel für die Umwandlung einer Liste in Variablen finden Sie unten -
#!/usr/bin/tclsh
set var {orange blue red green}
lassign $var colour1 colour2
puts $colour1
puts $colour2
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
orange
blue
Eine Liste sortieren
Die Syntax zum Sortieren einer Liste ist unten angegeben -
lsort listname
Ein Beispiel zum Sortieren einer Liste finden Sie unten -
#!/usr/bin/tclsh
set var {orange blue red green}
set var [lsort $var]
puts $var
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
blue green orange red