TCL: concaténer une variable et une chaîne
supposons que nous avons une variable 'a' définie à 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
palliatif est quelque chose comme
set a "12345"
set u "9876"
set b $a$u
mais je ne veux pas de spécifier $u
au lieu de cela, je veux que la chaîne directe soit utilisée..
7 réponses
Vous pouvez faire:
set b ${a}9876
ou, en supposant que b
est soit vide ou non défini:
append b $a 9876
L'appel à append
est plus efficace lorsque les $a
est longue (voir append
doc).
autre option est d'utiliser la commande set. depuis définir un donne la valeur de a, on peut l'utiliser pour définir la valeur de b comme ci-dessous
b [set]9876
L'autre option est d'utiliser la commande concat comme ci-dessous.
b [concat $a\9876]
Je ne comprends pas ce que vous voulez dire par la chaîne directe... Je ne suis pas sûr si vous le souhaitez... Cependant, si vous voulez la valeur de 12349876 vous pouvez faire:
% set b [concat $a$u]
12349876
si vous voulez que $A ou $u fasse partie de la chaîne, ajoutez juste un antislash '\' avant la variable désirée.
À Partir De Tcl 8.6.2 là, il y a string cat
qui peut être utilisé pour résoudre ce problème.
set b [string cat $a 9876]
set myString "Hello"
ajouter myString " monde!"
puts "$machaine"
Bonjour Tout Le Monde!