ตัวอย่างการออกแบบนี้แสดงขั้นตอน 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] }