Как объединить строки в TCL без добавления пробелов

Я хочу объединить две строки без пробелов между объединяемыми строками. Но когда я использую приведенные ниже команды, я получаю конкатенированные строки с добавленными между ними пробелами. Как объединить строки без добавления пробелов?

set A "Test"
set B "data"

set C $A$B

Current Output :

Test       data

I need output similar to this :

Testdata


person user1270123    schedule 10.07.2012    source источник


Ответы (3)


Если я попробую, это будет работать так:

$ tclsh
% set A "Test"
Test
% set B "data"
data
% set C $A$B
Testdata

Может быть, вы случайно ввели контрольный символ между A и $?

person sti    schedule 10.07.2012
comment
ты прав. Я на самом деле читаю эти переменные из файла. И я увидел, что между ними много места, когда я попытался распечатать это, используя put $ A $ B. Есть ли в tcl какая-либо команда для удаления пробелов между ними? - person user1270123; 11.07.2012
comment
Команда string trim удалит пробелы. Так что set C [string trim $A][string trim $B] может сработать для вас. - person andy mango; 11.07.2012

Попробуйте использовать команду добавить

синтаксис для добавления:

append var "," $value 
                        #appends value to variable

Без указания кавычек по умолчанию используется null.

so,

  set A "Test"
  set B "data"
  append A $B
  puts "$A"

Переменная содержит "Testdata"

person Deeraj Reddy    schedule 22.01.2020

Вы можете использовать команду Tcl join.

% set A "Test"
Test
% set B "data"
data
% join [list $A $B] ""
Testdata
person Francis Pang    schedule 17.02.2016
comment
Это не должно было быть отклонено, это наиболее функциональный ответ OP. - person GLJ; 21.02.2020