2016-02-12 91 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 
相关问题