Ответ 1
Вы можете сделать:
set b ${a}9876
или, если b
либо установлен в пустую строку, либо не определен:
append b $a 9876
Вызов append
более эффективен, если $a
длинный (см. append
doc).
Предположим, что мы имеем переменную 'a', установленную в 12345:
set a 12345
Теперь, как установить новую переменную "b", которая содержит значение "a", а другая строка - 9876
обходной путь - это что-то вроде
set a "12345"
set u "9876"
set b $a$u
но я не хочу указывать $u
, вместо этого я хочу использовать прямую строку.
Вы можете сделать:
set b ${a}9876
или, если b
либо установлен в пустую строку, либо не определен:
append b $a 9876
Вызов append
более эффективен, если $a
длинный (см. append
doc).
другой вариант - использовать команду set. поскольку установить дает значение a, мы можем использовать его для установки значения b, как показано ниже
установить b [установить a] 9876
Или вы можете использовать format
set b [format %s%s $a $u]
Другой вариант - использовать команду concat, как показано ниже.
set b [concat $a\9876]
Я не понимаю, что вы подразумеваете под прямым строком... Я не уверен, если вы хотите... Однако, если вы хотите получить значение 12349876, вы можете сделать:
% set b [concat $a$u]
12349876
Если вы хотите, чтобы $a или $u являлись частью строки, просто добавьте обратную косую черту '\' перед желаемой переменной.
Начиная с Tcl 8.6 .2, существует string cat
, который может быть использован для решения этой проблемы.
set b [string cat $a 9876]
установить myString "Hello"
добавить myString "Мир!"
помещает "$ myString"
Привет, мир!