我想找到与列表中给定模式不匹配的条目,列表名称是变量

时间:2017-09-12 08:34:08

标签: tcl

我想在列表中找到与给定模式不匹配的条目。列表名称是可变的。我想在for循环中这样做。

例如:

set li {{1 2} {1 3} {-1 -1}}

lsearch -all -inline -exact -not $li {-1 -1}
  

答案:{1 2} {1 3}。

但我的问题是,我想给一个变量名称“li”。李会在一个循环中变化。

1 个答案:

答案 0 :(得分:0)

你的问题不清楚。我假设当你说'我想给一个变量名称“li”'你的意思是你想用一个变量来指定另一个变量的名称。

您可以使用set

执行此操作
set varname li
lsearch -all -inline -exact -not [set $varname] {-1 -1}

执行[set $varname]时,tcl将首先将“li”替换为$varname。这会将语句转换为lsearch ... [set li] ...,而[set li]在功能上与$li相同。