2017-07-14 1 views
0

J'essaye d'accomplir quelque chose de très simple dans TCL. À savoir concaténation de chaînes où certaines (pas toutes) les chaînes sont affectées à des variables. Par exemple,Chaîne de concaténation incluant des variables dans TCL

set string1 fragilistic 
set string2 docious 

puts [concat supercali $string1 expiali $string 2] 

ceci aboutit à supercali fragilistic expiali docious. Je ne veux vraiment pas ces espaces entre ainsi que j'ai essayé de faire était

puts [concat supercali$string1expiali$string 2] 

Mais cela retournera une erreur. Comment puis-je concaténer des chaînes avec des chaînes affectées à des variables dans TCL sans ces espaces intermédiaires?

Répondre

1

Vous avez deux options. La façon Tcl classique de faire est ce, avec des noms de variables délimitée par des accolades:

puts supercali${string1}expiali${string2} 

A partir Tcl 8.6 partir, il y a aussi la commande string cat (qui a été introduit pour faire lmap travail mieux):

puts [string cat supercali $string1 expiali $string2] 

Le comportement de bas niveau doit être identique.