Nombres de instancias de nivel superior que coinciden con un patrón de consición previa

author-image

Por

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 para contener los casos de nivel superior que coincidan con la captura de captura de nomenclatura { 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 la forma #
        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]
        
        # ha dividido la jerarquía en una lista, lo que la separa en el
        espacio informativo de jerarquía n.° |
        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 {
        [cadena match $wildcard $top_level_instance] } {
            set names_to_return($top_level_instance) 1 } } devolver [nombres de
        matriz
    
    names_to_return]
}

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.