2016-03-06 3 views
0

У меня есть 5 различных переменных, поступающих из разных операторов if и loop, когда я использую «put» для вывода вывода в текстовый файл, все символы и цифры полностью такие: alphaclass112098voip. гдеВыход TCL с пробелом

variables: name = alpha 

category = class1 

number = 12098 

service = voip 

Я хочу, чтобы выход в файле как это был с пробелами на той же линии.

Alpha class1 12098 voip 

Beta class1 12093 DHCP SIP 

Также в определенный момент я хочу использовать разделители для будущих целей.

+1

Показать свой код –

ответ

0

Самый простой способ справиться с этим - создать список Tcl, который представляет запись. Вы можете сделать это по частям с lappend, или все сразу с list. Или смешайте их.

foreach name $names category $categories number $numbers service $services { 
    set record [list $name $category] 
    lappend record $number 
    lappend record $service 
    puts $record 
} 

Это показывает запись для каждой строки в формате, который Tcl находит легко разобрать (вы увидите, что я имею в виду, если у вас есть имя с пробелом в нем). Чтобы использовать разделитель для разделения значений вместо этого, команда join очень полезна:

puts [join $record $delimiter] 

по умолчанию разделителем является пробел, но попробовать : вместо того, чтобы увидеть, как это работает.


Если вы генерируете файл CSV, сделать с помощью csv package в Tcllib. Он обрабатывает сложные фреймы (например, встроенные запятые) для вас.

Смежные вопросы