我想在列表中找到与给定模式不匹配的条目。列表名称是可变的。我想在for循环中这样做。
例如:
set li {{1 2} {1 3} {-1 -1}}
lsearch -all -inline -exact -not $li {-1 -1}
答案:{1 2} {1 3}。
但我的问题是,我想给一个变量名称“li”。李会在一个循环中变化。
答案 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
相同。