Este ejemplo de diseño proporciona un procedimiento de Tcl que devuelve nombres de instancias de nivel superior que coinciden con un patrón de orador. Copie y pega el procedimiento en un script de Tcl y, a continuación, llame al procedimiento.
El procedimiento devuelve los nombres de instancia en una lista. Si no hay nombres de instancia de nivel superior que coincidan con el patrón de nomenclatura, el procedimiento devuelve una lista en blanco. Los nombres de instancia se devuelven en un orden arbitrario. Si desea que se devuelva la lista de nombres de instancia en un orden determinado, como ordenado alfabético, utilice el comando lsort para ordenarla adecuadamente.
Por ejemplo, si los nombres de instancias de nivel superior en su diseño son foo1, foo2, foo3, bar1, bar2y bar3,una llamada de procedimiento de
get_top_level_instances_matching *2
devolvería { foo2 bar2 }
.
proc get_top_level_instances_matching { resalte } { # Convertir una variable en una variable para contener las instancias de nivel superior que coincidan con la captura de la insurrización { matriz no configurada names_to_return } conjunto de matrices names_to_return [list] # La colección de nombres es todas las matrices en el diseño foreach_in_collection name_id [get_names -filter * -node_type jerarquía] { # La opción de short_full_path obtiene el nombre en el formulario # instance|cad| # Solo utiliza instancias independientemente de si la configuración # "Display entity name for node name" (Mostrar nombre de la entidad para nombre del nodo) está activada o desactivada short_full_name [get_name_info -info short_full_path $name_id] # divide la jerarquía en una lista, dividiendo la jerarquía en una lista, dividiendo la jerarquía en el número de nomenclatura de jerarquía que se | establezca short_full_pieces [split $short_full_name "|"] # Obtenga el nombre de instancia de nivel superior: el primero en la lista establecido top_level_instance [lindex $short_full_pieces 0] # Si el nombre de instancia de nivel superior coincide con el nombre de instancia de nivel superior, guárdelo para regresar al final del procedimiento si { [string match $wildcard $top_level_instance] } { set names_to_return($top_level_instance) 1 } devolver [nombres de matriz names_to_return] }