在Python中,我可以编写类似的内容:
my_list = [4, 7, "test"]
a, b, c = my_list
之后a
为4
,b
为7
,c
为"test"
,因为最后一行有解包操作。我可以做一些类似Tcl的最后一行吗?为了更清楚,我想要这样的东西:
set my_list {4 7 test}
setfromlist $mylist a b c
(即setfromlist
将是我正在寻找的命令。)
答案 0 :(得分:14)
你想要lassign:
% lassign
wrong # args: should be "lassign list ?varName ...?"
% lassign {1 2 3} a b c
% set a
1
% set b
2
% set c
3
如果您使用的是旧版本的Tcl(没有lassign),您可以使用foreach来获得相同的结果
foreach {a b c} {1 2 3} {break}