2010-06-14 14 views

उत्तर

15

सबसे अधिक संभावना है कि आप क्या चाहते join लेकिन तुम क्या करने कोशिश कर रहे हैं पर निर्भर करता है यह आवश्यक नहीं हो सकता है।

anything in TCL is able to be treated as a string at anytime, फलस्वरूप आप सिर्फ explict रूपांतरण

-5

सूची कमांड का उपयोग करें।

http://wiki.tcl.tk/440

वैकल्पिक रूप से, "विभाजन" देखें: http://wiki.tcl.tk/1499

split "comp.unix.misc" 

रिटर्न "COMP यूनिक्स विविध"

+5

आप एक स्ट्रिंग से एक सूची बनाने के तरीके दे रहे हैं। प्रश्न विपरीत के लिए पूछता है - सूची से स्ट्रिंग तक कैसे प्राप्त करें। –

5

बिना एक स्ट्रिंग के रूप अपनी सूची का उपयोग करने के तुम सिर्फ सामग्री चाहते हैं सक्षम हो सकता है, आप $ listvar डालता कर सकते हैं और यह एक स्ट्रिंग के रूप में सामग्री बाहर लिखेंगे।

आप एक स्तर से सूची को फ़्लैट कर सकते हैं या जोड़ों का उपयोग करके विभाजक चरित्र डाल सकते हैं, जैसा कि ऊपर उत्तर दिया गया है।

उदाहरण:

% 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

यदि आपको मल्टी लेवल सूचियों को भी फ़्लैट करने की आवश्यकता है, तो Tcllib स्ट्रक्चर :: सूची पैकेज और फ़्लैटन उपसमंद पर एक नज़र डालें। 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

वर्गों का उपयोग करना एक सूची समतल करने के लिए:

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

package require struct::list 
struct::list flatten -full $list 
संबंधित मुद्दे