2

我有一个包含一个成员的列表,该成员是 string <cmd_stichstudy1>XXDDR0_MA[12]。当我在列表中搜索该字符串时(使用lsearch),我发现列表中不包含它。我什至在搜索列表成员时得到它:

tcl> set nets_names

{<cmd_stichstudy1>XXDDR0_MA[12]}

tcl> lsearch $nets_names [lindex $nets_names 0]

-1

为什么会这样?

4

2 回答 2

4

如果您使用-exact它将按照您想要的方式工作。

% set nets_names {<cmd_stichstudy1>XXDDR0_MA[12]}
<cmd_stichstudy1>XXDDR0_MA[12]
% lsearch -exact $nets_names [lindex $nets_names 0]
0
%
于 2012-09-04T10:14:09.860 回答
2

lsearch不幸的是,默认情况下使用glob 样式匹配

引用手册:

如果省略所有匹配样式选项,则默认匹配样式为 -glob。

所以总是传递-exactlsearch除非你真的想要-glob

于 2012-09-04T10:18:59.553 回答