W tym przykładzie projektu przedstawiono procedurę Tcl, która zwraca nazwy wystąpień najwyższego poziomu, które pasują do wzoru symboli wieloznacznych. Skopiuj i wkleij procedurę do skryptu Tcl, a następnie wezwij procedurę.
Procedura zwraca nazwy instancji na liście. Jeśli nazwy instancji najwyższego poziomu nie są zgodne ze wzorem symboli wieloznacznych, procedura zwraca pustą listę. Nazwy instancji są zwracane w kolejność z nakazem zniechęcenia. Jeśli chcesz, aby lista nazw instancji została zwrócona w określonej kolejności, na przykład posortowane alfabetycznie, użyj polecenia lsort, aby go odpowiednio posortować.
Przykładowo, jeśli nazwy instancji najwyższego poziomu w Twoim projekcie to foo1, foo2, foo3, bar1, bar2i bar3,połączenie procedury
get_top_level_instances_matching *2
zł. { foo2 bar2 }
proc get_top_level_instances_matching { wildcard } { # Skonfiguruj zmienną, która przechowuje najwyższej klasy instancje, które pasują do połowu symboli wieloznacznych { array unset names_to_return } array set names_to_return [lista] # Zbiór nazw to wszystkie hierarchie w foreach_in_collection name_id projektu [get_names -filter * -node_type hierarchia] { # Opcja short_full_path pobiera nazwę w formularzu # instance|instance|... # Używa tylko instancji, niezależnie od tego, czy ustawienie #"Wyświetl nazwę podmiotu dla nazwy węzła" jest włączone lub wyłączone, short_full_name [get_name_info -info short_full_path $name_id] # Podziel hierarchię na listę, rozkładając ją na # hierarchia | zestaw short_full_pieces [split $short_full_name "|"] #Get the top-level instance name — the first in the list set top_level_instance [lindex $short_full_0] # If the top-level instance name match the wildcard, save it # to return at the end of the procedure if { [string match $wildcard $top_level_instance] } { set names_to_return($top_level_instance) 1 } return [array names names_to_return] }