2

1 つのメンバーを含むリストがあります。そのメンバーは 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 です。

したがって、本当に必要でない限り、常に-exactに渡します。lsearch-glob

于 2012-09-04T10:18:59.553 に答える