Tcl - Tableaux

Un tableau est une disposition systématique d'un groupe d'éléments à l'aide d'indices. La syntaxe du tableau conventionnel est indiquée ci-dessous.

set ArrayName(Index) value

Un exemple de création de tableau simple est présenté ci-dessous.

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
puts $languages(0)
puts $languages(1)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Tcl
C Language

Taille du tableau

La syntaxe de calcul du tableau de tailles est indiquée ci-dessous.

[array size variablename]

Un exemple d'impression de la taille est présenté ci-dessous.

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
puts  [array size languages]

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

2

Itération de tableau

Cependant, les indices de tableau peuvent être non continus comme les valeurs spécifiées pour l'index 1 puis l'index 10 et ainsi de suite. Mais, dans le cas où ils sont continus, nous pouvons utiliser l'itération de tableau pour accéder aux éléments du tableau. Une itération de tableau simple pour imprimer les éléments du tableau est illustrée ci-dessous.

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
for { set index 0 }  { $index < [array size languages] }  { incr index } {
   puts "languages($index) : $languages($index)"
}

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

languages(0) : Tcl
languages(1) : C Language

Tableaux associatifs

Dans Tcl, tous les tableaux sont par nature associatifs. Les tableaux sont stockés et récupérés sans ordre spécifique. Les tableaux associatifs ont un index qui n'est pas nécessairement un nombre et peuvent être peu peuplés. Un exemple simple de tableau associatif avec des indices non numériques est présenté ci-dessous.

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
puts  $personA(Name)
puts  $personA(Age)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Dave
14

Indices de tableau

La syntaxe de récupération des indices du tableau est indiquée ci-dessous.

[array names variablename]

Un exemple d'impression de la taille est présenté ci-dessous.

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
puts [array names personA]

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Age Name

Itération du tableau associatif

Vous pouvez utiliser les indices du tableau pour parcourir le tableau associatif. Un exemple est présenté ci-dessous.

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
foreach index [array names personA] {
   puts "personA($index): $personA($index)"
}

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

personA(Age): 14
personA(Name): Dave