Supposons que nous avons une variable 'a' définie sur 12345:
set a 12345
Maintenant, comment puis-je définir une nouvelle variable "b" qui contient la valeur de "a" et une autre chaîne dire 9876
la solution de contournement est quelque chose comme
set a "12345"
set u "9876"
set b $a$u
mais je ne veux pas spécifier $u
à la place, je veux que la chaîne directe soit utilisée ..
Tu peux faire:
set b ${a}9876
ou, en supposant que b
est défini sur la chaîne vide ou n'est pas défini:
append b $a 9876
L'appel à append
est plus efficace lorsque $a
est long (voir append
doc ).
une autre option consiste à utiliser la commande set. puisque set a donne une valeur de a que nous pouvons utiliser pour définir la valeur de b comme ci-dessous
set b [set a] 9876
Ou vous pouvez utiliser format
set b [format %s%s $a $u]
À partir de Tcl 8.6.2 à partir de là, il y a string cat
qui peut être utilisé pour résoudre ce problème.
set b [string cat $a 9876]
Je ne comprends pas ce que vous voulez dire par chaîne directe ... Je ne sais pas si vous voulez ... Cependant, si vous voulez la valeur de 12349876, vous pouvez le faire:
% set b [concat $a$u]
12349876
Si vous voulez que $ a ou $ u fasse partie de la chaîne, ajoutez simplement une barre oblique inverse '\' avant la variable souhaitée.
Une autre option consiste à utiliser la commande concat comme ci-dessous.
set b [concat $ a\9876]