2016-03-06 59 views
0

我有5個不同的變量來自不同的if和循環語句,當我使用「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文件,請在Tcllib中使用csv package。它爲你處理棘手的邊緣情況(例如,嵌入的逗號)。