Tcl - Listas
Lista é um dos tipos de dados básicos disponíveis em Tcl. É usado para representar uma coleção ordenada de itens. Ele pode incluir diferentes tipos de itens na mesma lista. Além disso, uma lista pode conter outra lista.
Uma coisa importante que precisa ser observada é que essas listas são representadas como strings completamente e processadas para formar itens individuais quando necessário. Portanto, evite listas grandes e em tais casos; use array.
Criação de uma lista
A sintaxe geral da lista é fornecida abaixo -
set listName { item1 item2 item3 .. itemn }
# or
set listName [list item1 item2 item3]
# or
set listName [split "items separated by a character" split_character]
Alguns exemplos são fornecidos abaixo -
#!/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
Quando o código acima é executado, ele produz o seguinte resultado -
red green blue
red green blue
red green blue
Anexando Item a uma Lista
A sintaxe para anexar item a uma lista é fornecida abaixo -
append listName split_character value
# or
lappend listName value
Alguns exemplos são fornecidos abaixo -
#!/usr/bin/tclsh
set var orange
append var " " "blue"
lappend var "red"
lappend var "green"
puts $var
Quando o código acima é executado, ele produz o seguinte resultado -
orange blue red green
Comprimento da Lista
A sintaxe para comprimento da lista é fornecida abaixo -
llength listName
O exemplo de comprimento da lista é fornecido abaixo -
#!/usr/bin/tclsh
set var {orange blue red green}
puts [llength $var]
Quando o código acima é executado, ele produz o seguinte resultado -
4
Item da lista no índice
A sintaxe para selecionar o item da lista em um índice específico é fornecida abaixo -
lindex listname index
O exemplo de item da lista no índice é fornecido abaixo -
#!/usr/bin/tclsh
set var {orange blue red green}
puts [lindex $var 1]
Quando o código acima é executado, ele produz o seguinte resultado -
blue
Inserir item no índice
A sintaxe para inserir itens de lista em um índice específico é fornecida a seguir.
linsert listname index value1 value2..valuen
Um exemplo para inserir um item de lista em um índice específico é fornecido abaixo.
#!/usr/bin/tclsh
set var {orange blue red green}
set var [linsert $var 3 black white]
puts $var
Quando o código acima é executado, ele produz o seguinte resultado -
orange blue red black white green
Substituir itens em índices
A sintaxe para substituir os itens da lista em índices específicos é fornecida abaixo -
lreplace listname firstindex lastindex value1 value2..valuen
Um exemplo de substituição de itens de lista em índices específicos é fornecido abaixo.
#!/usr/bin/tclsh
set var {orange blue red green}
set var [lreplace $var 2 3 black white]
puts $var
Quando o código acima é executado, ele produz o seguinte resultado -
orange blue black white
Definir item no índice
A sintaxe para definir o item da lista em um índice específico é fornecida abaixo -
lset listname index value
Um exemplo para definir o item da lista em um índice específico é fornecido abaixo -
#!/usr/bin/tclsh
set var {orange blue red green}
lset var 0 black
puts $var
Quando o código acima é executado, ele produz o seguinte resultado -
black blue red green
Transformar lista em variáveis
A sintaxe para copiar valores para variáveis é fornecida abaixo -
lassign listname variable1 variable2.. variablen
Exemplo para transformar lista em variáveis é fornecido abaixo -
#!/usr/bin/tclsh
set var {orange blue red green}
lassign $var colour1 colour2
puts $colour1
puts $colour2
Quando o código acima é executado, ele produz o seguinte resultado -
orange
blue
Classificando uma lista
A sintaxe para classificar uma lista é fornecida abaixo -
lsort listname
Um exemplo de classificação de uma lista é fornecido abaixo -
#!/usr/bin/tclsh
set var {orange blue red green}
set var [lsort $var]
puts $var
Quando o código acima é executado, ele produz o seguinte resultado -
blue green orange red