TCL : Concatenate a variable and a string

2020-03-01 04:27发布

Assume we have a variable 'a' set to 12345 :

set a 12345

Now how do i set a new variable 'b' which contains the value of 'a' and another string say 9876

workaround is something like

set a "12345"
set u "9876"

set b $a$u

but i dont want to specify $u instead i want the direct string to used..

标签: tcl
7条回答
何必那么认真
2楼-- · 2020-03-01 05:05

other option is to use set command. since set a gives value of a we can use it to set value of b like below

set b [set a]9876

查看更多
对你真心纯属浪费
3楼-- · 2020-03-01 05:12

You can do:

set b ${a}9876

or, assuming b is either set to the empty string or not defined:

append b $a 9876

The call to append is more efficient when $a is long (see append doc).

查看更多
神经病院院长
4楼-- · 2020-03-01 05:13

set myString "Hello"

append myString " World!"

puts "$myString"

Hello World!

查看更多
Luminary・发光体
5楼-- · 2020-03-01 05:15

I don't get what you mean the direct string... I'm not sure if you want... However, if you want the value of 12349876 you can do:

% set b [concat $a$u]
12349876

If you want $a or $u to be part of the string, just add a backslash '\' before the desired variable.

查看更多
你好瞎i
6楼-- · 2020-03-01 05:21

From Tcl 8.6.2 onwards, there is string cat which can be used to solve this problem.

set b [string cat $a 9876]
查看更多
爷、活的狠高调
7楼-- · 2020-03-01 05:23

Other option is to use concat command like below.

set b [concat $a\9876]

查看更多
登录 后发表回答