У вас есть строка, которая была бы отлично принята в виде списка, если вы использовали какие-либо команды списка. Например: llength $mylist
выдаст 4. (Не 1, как вы сообщили. Я думаю, вы, возможно, случайно сделали llength mylist
)
Если вы хотите напечатать строку в виде канонического списка, т. Е. Вы хотите преобразовать строку -> список -> строку, вам нужно что-то сделать, чтобы преобразовать ее в список. Одним из способов было бы использовать puts [join $mylist]
. Команда join берет список, поэтому он преобразует $ mylist в список, а затем обратно в строку.
Если вы хотите, чтобы переменная mylist фактически содержала список в кананической форме, вы можете использовать одну из следующих команд:
set mylist [lassign $mylist]
set mylist [lrange $mylist 0 end]
Но в большинстве случаев способ определения списка идеально подходит для обычного использования.