假设我有一个可变长度的列表。我将以3的长度为例
set inst_list [list a b c]
现在还假设我有一个变量:
set add_string "1"
我希望能够将$ add_string变量添加到列表中的最后一个元素。请注意,列表的长度是可变的,并不总是3。
在上面的示例中我想要的输出是:
a b c1
我知道,如果这是一个固定大小的列表,我可以做类似的事情
concat [lindex $inst_list 2]$add_string
但是,这只会给我“ c1”,而不是结尾为“ c1”的完整列表。同样,这也不考虑$ inst_list的可变列表大小。
答案 0 :(得分:4)
lset
和string cat
在这里合适:
lset inst_list end [string cat [lindex $inst_list end] "1"]
string cat
出现在Tcl v8.6中