1

lsearch 不正常的奇怪问题。我可能在做一些愚蠢的事情。任何想法/帮助将不胜感激!

set mylist {}

lappend mylist a
lappend mylist b
lappend mylist c

set test [lsearch -exact mylist b]
puts "This doesn't work, result should be 1 = $test"

set test2 [lsearch {a b c d e} c]
puts "This works, result should be 2 = $test2"
4

2 回答 2

6

您正在搜索包含单个元素的列表:

{mylist}

您需要改为传递变量mylist

lsearch -exact $mylist b
于 2013-11-08T02:17:49.200 回答
0

你可以拆分元素...

set my_split_list [split $mylist]

但是,这会在新的 my_split_list 中为您提供各种疯狂的替换语法,例如 {、"、\ 等。

于 2014-09-30T08:39:25.803 回答