Tcl - Variables

En Tcl, il n'y a pas de concept de déclaration de variable. Une fois qu'un nouveau nom de variable est rencontré, Tcl définira une nouvelle variable.

Dénomination des variables

Le nom des variables peut contenir n'importe quels caractères et longueur. Vous pouvez même avoir des espaces blancs en plaçant la variable entre accolades, mais ce n'est pas préférable.

La commande set est utilisée pour affecter une valeur à une variable. La syntaxe de la commande set est,

set variableName value

Quelques exemples de variables sont présentés ci-dessous -

#!/usr/bin/tclsh

set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}

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

10
test

Comme vous pouvez le voir dans le programme ci-dessus, le $ variableName est utilisé pour obtenir la valeur de la variable.

Typage dynamique

Tcl est un langage typé dynamiquement. La valeur de la variable peut être convertie dynamiquement au type requis si nécessaire. Par exemple, un nombre 5 stocké sous forme de chaîne sera converti en nombre lors d'une opération arithmétique. Il est montré ci-dessous -

#!/usr/bin/tclsh

set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum

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

10
30

Expressions mathématiques

Comme vous pouvez le voir dans l'exemple ci-dessus, expr est utilisé pour représenter une expression mathématique. La précision par défaut de Tcl est de 12 chiffres. Afin d'obtenir des résultats en virgule flottante, nous devons ajouter au moins un seul chiffre décimal. Un exemple simple explique ce qui précède.

#!/usr/bin/tclsh

set variableA "10"
set result [expr $variableA / 9];
puts $result
set result [expr $variableA / 9.0];
puts $result
set variableA "10.0"
set result [expr $variableA / 9];
puts $result

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

1
1.1111111111111112
1.1111111111111112

Dans l'exemple ci-dessus, vous pouvez voir trois cas. Dans le premier cas, le dividende et le diviseur sont des nombres entiers et nous obtenons un nombre entier comme résultat. Dans le second cas, le diviseur seul est un nombre décimal et dans le troisième cas, le dividende est un nombre décimal. Dans les deuxième et troisième cas, nous obtenons un nombre décimal comme résultat.

Dans le code ci-dessus, vous pouvez modifier la précision en utilisant la variable spéciale tcl_precision. Il est montré ci-dessous -

#!/usr/bin/tclsh

set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result

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

1.1111