Я имею дело с большим количеством сигналов. Я смог сохранить их в списке, но поскольку у их имени есть скобки, сигналы хранятся в списке. В последнее время, используя regexp, я анализирую полученный результат и, если есть совпадение, мне нужно установить флаг.lsearch не соответствует элементам, требующим фигурных скобок (Tcl 8.4)
В следующем примере я покажу элемент добавляется в список и, позже один, я стараюсь, чтобы проверить, если тот же элемент находится внутри списка с помощью lsearch
set mylist [list]
set element {aux[1]}
lappend mylist $element
puts "mylist: $mylist \nelement: $element\n\[list element\]: [list $element]"
В результате этого ставит является:
mylist: {aux[1]}
element: aux[1]
[list element]: {aux[1]}
поскольку мой элемент хранится в виде {а [1]}, я не нашел способ сделать lsearch, чтобы возвращать матч
set result [lsearch $mylist $element]
set result2 [lsearch $mylist [list $element]]
puts $result
puts $result2
Оба результата возвращают '-1'.
Я видел решения, но ни один из них не использовал Tcl 8.4; И мне нужно использовать его из-за обратной совместимости.
Я был уверен, что я пробовал. Ошибка произошла. Это работает =), спасибо! – aLt