我是 TCL 单词的新手。我有一个 js 数字列表,当我将 lsearch 用于数字时,它无法正确打印。你能帮我看看我的命令有什么问题吗
set a {12,121,124,21,212}
lsearch -integer $a 12
预期输出:12 实际输出:12,121, 124, 212
回答1
你有一个用逗号分隔的列表,而 Tcl 列表(lsearch
可以搜索和 lsort
可以排序的那种)用空格分隔。 split
命令可以为您进行转换:
set a {12,121,124,21,212}
set theList [split $a ","]
lsearch -integer $theList 12
搜索的结果是 0
,它是列表中第一项的索引(Tcl 使用零索引,就像很多编程语言一样)。
要找到实际的 value (在这种情况下没那么有用,但在更复杂的情况下肯定更有用),您需要提供 -inline
选项。
lsearch -inline -integer $theList 12