Tcl - Dicionário

Um dicionário é um arranjo para mapear valores para chaves. A sintaxe para o dicionário convencional é mostrada abaixo -

dict set dictname key value
# or 
dict create dictname key1 value1 key2 value2 .. keyn valuen

Alguns exemplos para a criação de um dicionário são mostrados abaixo -

#!/usr/bin/tclsh

dict set colours  colour1 red 
puts $colours
dict set colours  colour2 green
puts $colours

set colours [dict create colour1 "black" colour2 "white"]
puts $colours

Quando o código acima é executado, ele produz o seguinte resultado -

colour1 red
colour1 red colour2 green
colour1 black colour2 white

Tamanho do Dict

A sintaxe para obter o tamanho do dicionário é mostrada abaixo -

[dict size dictname]

Um exemplo de impressão do tamanho é mostrado abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
puts [dict size $colours]

Quando o código acima é executado, ele produz o seguinte resultado -

2

Iteração de Dicionário

Uma iteração de dicionário simples para imprimir chaves e valores do dicionário é mostrada abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
foreach item [dict keys $colours] {
   set value [dict get $colours $item]
   puts $value
}

Quando o código acima é executado, ele produz o seguinte resultado -

black
white

Valor para chave no dict

A sintaxe para recuperar o valor da chave em dict é mostrada abaixo -

[dict get $dictname $keyname]

Um exemplo de recuperação de valor para a chave é fornecido abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set value [dict get $colours colour1]
puts $value

Quando o código acima é executado, ele produz o seguinte resultado -

black

Todas as chaves no Dict

A sintaxe para recuperar todas as chaves em dict é mostrada abaixo -

[dict keys $dictname]

Um exemplo para imprimir todas as chaves é mostrado abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set keys [dict keys $colours]
puts $keys

Quando o código acima é executado, ele produz o seguinte resultado -

colour1 colour2

Todos os valores em Dict

A sintaxe para recuperar todos os valores em dict é mostrada abaixo -

[dict values $dictname]

Um exemplo de impressão de todos os valores é mostrado abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set values [dict values $colours]
puts $values

Quando o código acima é executado, ele produz o seguinte resultado -

black white

A chave existe no Dict

A sintaxe para verificar se existe uma chave em dict é mostrada abaixo -

[dict exists $dictname $key]

Um exemplo para verificar se existe uma chave em dict é mostrado abaixo -

#!/usr/bin/tclsh

set colours [dict create colour1 "black" colour2 "white"]
set result [dict exists $colours colour1]
puts $result

Quando o código acima é executado, ele produz o seguinte resultado -

1