2010-06-14 10 views

Respuesta

-5

Utilice el comando de lista.

http://wiki.tcl.tk/440

Como alternativa, consulte "split": http://wiki.tcl.tk/1499

split "comp.unix.misc" 

retornos "comp UNIX misceláneos"

+5

Usted está dando maneras de hacer una lista de una cadena. La pregunta pide lo contrario: cómo pasar de la lista a la cadena. –

5

Si lo que desea es el contenido, se puede pone $ listaVar y se va a escribir el contenido como una cadena.

Puede aplanar la lista en un nivel o insertar un carácter separador usando join, como jk respondió anteriormente.

Ejemplo:

% 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 
+2

Si necesita aplanar también listas de niveles múltiples, eche un vistazo al paquete Tcllib struct :: list y al subcomando flatten. http://tcllib.sourceforge.net/doc/struct_list.html – schlenk

1
set list {a b c d e f} 
for {set i 0} {$i<[llength $list]} {incr i} { 
    append string [lindex $list $i] 
} 
puts $string 
-1
set a { 1 2 3 4 { 5 6 { 7 8 9 } } 10 } 
set rstr [regexp -all -inline {\S+} $a] 
puts $rstr 
0

para aplanar una lista utilizando clases:

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

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