2016-02-12 78 views
0

請參見下面的代碼:一個字符串轉換爲一個嵌套TCL列表

> foreach a {k l { jo k } {jo i } k } { puts $a} 
k 
l 
jo k 
jo i 
k 

的問題是,如果我得到它具有列表的字符串表示的字符串會發生什麼:

> foreach a "{k l { jo k } {jo i } k }" { puts $a} 
k l { jo k } {jo i } k 

我怎樣才能串"{k l { jo k } {jo i } k }"轉換爲一個列表,它是相同的:{k l { jo k } {jo i } k }
使用SUBST和eval,但沒有奏效。
謝謝。

回答

2

該字符串看起來是拿着名單,所以讓我們嘗試lindex ...

% foreach a [lindex "{k l { jo k } {jo i } k }" 0] { puts $a} 
k 
l 
jo k 
jo i 
k 
+0

感謝。有用。 – user1134991

3

"splat" operator工程太:

% foreach a "{k l { jo k } {jo i } k }" { puts $a} 
k l { jo k } {jo i } k 
% foreach a {*}"{k l { jo k } {jo i } k }" { puts $a} 
k 
l 
jo k 
jo i 
k 
相關問題