與通配卡模式相符的頂級實例名稱

author-image

作者

此設計範例提供 Tcl 程式,可退回與配符模式相符的頂級實例名稱。將程式複製並貼上 Tcl 腳本,然後呼叫程式。
程式會將實例名稱退回清單中。如果沒有頂級實例名稱符合通配卡模式,則程式會退回一份空清單。實例名稱會以任意順序退回。如果您想要以特定順序退回實例名稱清單,例如按字母分類,請使用 lsort 命令適當分類。
例如,如果您設計的頂級實例名稱為 foo1、foo2、foo3、bar1、bar2bar3,則程式要求

get_top_level_instances_matching *2 將會退回 { foo2 bar2 }

proc get_top_level_instances_matching { wildcard {

    # 做一個變數,以保存與萬用字元
    摳取 { 陣列未設定的頂級實例names_to_return [
    陣列集 names_to_return [清單]
    
    # 名稱集合全 設計foreach_in_collection name_id
    [get_names -filter * -node_type階層級] {
    
        # short_full_path選項以 #
        實例|instance| 形式取得名稱...
        #它只使用實例,無論
        「顯示機構名稱的節點名稱」設定是開啟或關閉
        ,short_full_name [get_name_info -資訊 short_full_path $name_id] # 將
        
        階層結構分割成清單,將其分隔在
        # 層級分離器上|
        設定short_full_pieces [分割 $short_full_name"|」]
        
        # 取得最高層級實例名稱 - 清單中的第一個
        設定top_level_instance [lindex $short_full_pieces 0]
        
        # 如果最高層級實例名稱與萬用字元相符,請將它
        儲存在程式結束時退回,
        如果 { [字串對$wildcard $top_level_實例][ {
            設定為 names_to_return($top_level_instance) 1
        =
    
    退回 [陣列名稱稱 names_to_return]

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。