ชื่ออินสแตนซ์ระดับสูงสุดที่ตรงกับรูปแบบอักขระตัวแทน

author-image

โดย

ตัวอย่างการออกแบบนี้แสดงขั้นตอน Tcl ที่ส่งคืนชื่ออินสแตนซ์ระดับสูงสุดที่ตรงกับรูปแบบอักขระตัวแทน คัดลอกและวางขั้นตอนลงในสคริปต์ Tcl แล้วเรียกใช้กระบวนการ
ขั้นตอนนี้จะส่งคืนชื่ออินสแตนซ์ในรายการ หากไม่มีชื่ออินสแตนซ์ระดับบนสุดตรงกับรูปแบบอักขระตัวแทน ขั้นตอนจะส่งคืนรายการที่ว่างเปล่า ชื่ออินสแตนซ์จะถูกส่งคืนตามลําดับโดยพลการ หากคุณต้องการให้ส่งคืนรายชื่ออินสแตนซ์ตามลําดับที่เฉพาะเจาะจง เช่น เรียงตามลําดับตัวอักษร ให้ใช้คําสั่ง lsort เพื่อเรียงลําดับอย่างเหมาะสม
ตัวอย่างเช่น หากชื่ออินสแตนซ์ระดับสูงสุดในการออกแบบของคุณเป็น foo1, foo2, foo3, bar1, bar2และ bar3จะเป็นการเรียกขั้นตอน

get_top_level_instances_matching *2จะกลับมา { foo2 bar2 }

proc get_top_level_instances_matching { wildcard } {

    # ทําให้ตัวแปรเป็นตัวแปรเพื่อยึดอินสแตนซ์ระดับสูงสุดที่ตรงกับ
    สัญลักษณ์การค้นหา { ชุดอาร์เรย์ unset names_to_return }
    ชุดอาร์เรย์ names_to_return [list]
    
    # ชุดชื่อคือลําดับขั้นทั้งหมดใน
    foreach_in_collection name_idการออกแบบ [get_names -กรอง * -node_typeลําดับชั้น] {
    
        ตัวเลือกshort_full_pathได้รับชื่อในฟอร์ม
        # อินสแตนซ์|instance|...
        # อินสแตนซ์จะใช้อินสแตนซ์เท่านั้นโดยไม่คํานึงว่า
        การตั้งค่า #Display Entity name for node name" เปิดหรือปิด
        การตั้งค่าshort_full_name [get_name_info -info short_full_path $name_id]
        
        # แยกลําดับชั้นออกเป็นรายการ โดยแยกออกจากกันใน
        ลําดับขั้น # ตัวคั่น|
        ตั้งค่าshort_full_pieces [split $short_full_name "|"]
        
        # รับชื่ออินสแตนซ์ระดับบนสุด - ชื่ออินสแตนซ์แรกใน
        ชุดรายการtop_level_instance [lindex $short_full_pieces 0]
        
        # หากชื่ออินสแตนซ์ระดับบนสุดตรงกับอักขระตัวแทน ให้บันทึก
        หมายเลขเพื่อคืนค่าเมื่อสิ้นสุดขั้นตอน
        หาก { [string match $wildcard $top_level_instance] } { ตั้งค่า
            names_to_return($top_level_instance) 1
        } ส่งคืน
    
    [array name names_to_return]
}

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้