开发者

how to convert a list into string in tcl

开发者 https://www.devze.com 2023-01-03 04:12 出处:网络
How do I con开发者_Go百科vert a list into string in Tcl?most likely what you want is join however depending on what you are trying to do this may not be necessary.

How do I con开发者_Go百科vert a list into string in Tcl?


most likely what you want is join however depending on what you are trying to do this may not be necessary.

anything in TCL is able to be treated as a string at anytime, consequently you may be able to just use your list as a string without explict conversion


If you just want the contents, you can puts $listvar and it will write out the contents as a string.

You can flatten the list by one level or insert a separator character by using join, as jk answered above.

Example:

% set a { 1 2 3 4 { 5 6 { 7 8 9 } } 10 }
 1 2 3 4 { 5 6 { 7 8 9 } } 10 
% puts $a
 1 2 3 4 { 5 6 { 7 8 9 } } 10 
% join $a ","
1,2,3,4, 5 6 { 7 8 9 } ,10
% join $a
1 2 3 4  5 6 { 7 8 9 }  10


set list {a b c d e f}
for {set i 0} {$i<[llength $list]} {incr i} {
    append string [lindex $list $i]
}
puts $string


To flatten a list using classes:

set list { 1 2 3 4 { 5 6 { 7 8 9 } } 10 }

package require struct::list
struct::list flatten -full $list


set a { 1 2 3 4 { 5 6 { 7 8 9 } } 10 }
set rstr [regexp -all -inline {\S+} $a]
puts $rstr


Use the list command.

http://wiki.tcl.tk/440

Alternatively, see "split": http://wiki.tcl.tk/1499

split "comp.unix.misc"

returns "comp unix misc"

0

精彩评论

暂无评论...
验证码 换一张
取 消