Provided by: manpages-zh_1.5.1-1_all bug

NAME

       auto_execok,  auto_import,  auto_load,  auto_mkindex, auto_mkindex_old,
       auto_qualify,  auto_reset,  tcl_findLibrary,   parray,   tcl_endOfWord,
       tcl_startOfNextWord,    tcl_startOfPreviousWord,    tcl_wordBreakAfter,
       tcl_wordBreakBefore - standard library of Tcl procedures

æ€èŠè§ SYNOPSIS
       auto_execok cmd
       auto_import pattern
       auto_load cmd
       auto_mkindex dir pattern pattern ...
       auto_mkindex_old dir pattern pattern ...
       auto_qualify command namespace
       auto_reset
       tcl_findLibrary basename version patch initScript enVarName varName
       parray arrayName
       tcl_endOfWord str start                                                 |
       tcl_startOfNextWord str start                                           |
       tcl_startOfPreviousWord str start                                       |
       tcl_wordBreakAfter str start                                            |
       tcl_wordBreakBefore str start                                           |
_________________________________________________________________

仿¨ç» INTRODUCTION
       Tcl      为公共需求的功能包å«äº†ä¸€ä¸ª      Tcl       过程库。在       Tcl
       库中定义的过程是适用于多ç§ä¸åŒçš„应用的通用过程。用     info     library
       命令返回             Tcl             库的ä½ç½®ã€‚除了这个             Tcl
       库之外,æ¯ä¸ªåº”用通常都有它自己的支æŒè¿‡ç¨‹åº“;这个库的ä½ç½®é€šå¸¸ç”¨
       $app_library    全局å˜é‡çš„值给出,这里    app    是应用的å字。例如,Tk
       库的ä½ç½®ä¿æŒåœ¨å˜é‡ $tk_library 中。

       è¦è®¿é—®åœ¨    Tcl    库中的过程,一个应用应该   source   (载入)库中的文件
       init.tcl,例如,Tcl 命令
              source [file join [info library] init.tcl]
       如果在一个应用的             Tcl_AppInit             过程中调用了库过程
       Tcl_Init,则这(个加载)将自动å‘生。在  init.tcl  中的代ç å°†å®šä¹‰  unknown
       过程和使用下é¢å®šä¹‰çš„è‡ªåŠ¨è£…è½½æœºåˆ¶å®‰æŽ’å…¶ä»–è¿‡ç¨‹åœ¨éœ€è¦æ—¶è£…载。

å‘ä»ç½è¿ç¨ COMMAND PROCEDURES
       在 Tcl 库中æä¾›äº†ä¸‹åˆ—过程:

       auto_execok cmd
              ç¡®å®šæ˜¯å¦æœ‰ä¸€ä¸ªå«       cmd       çš„ä¸€ä¸ªå¯æ‰§è¡Œæ–‡ä»¶æˆ–        shell
              内置命令。如果有,它返回è¦ä¼ é€’ç»™   exec       æ¥æ‰§è¡Œè¿™ä¸ªå«   cmd
              çš„å¯æ‰§è¡Œæ–‡ä»¶æˆ–                                             shell
              å†…ç½®å‘½ä»¤çš„é‚£äº›å‚æ•°çš„ä¸€ä¸ªåˆ—è¡¨ã€‚å¦‚æžœæ²¡æœ‰ï¼Œå®ƒè¿”å›žä¸€ä¸ªç©ºä¸²ã€‚è¿™ä¸ªå‘½ä»¤æ£€æŸ¥åœ¨å½“å‰æŸ¥æ‰¾è·¯å¾„中目录(ç”±
              PATH  环境å˜é‡ç»™å‡º)ï¼Œåœ¨å…¶ä¸­æŸ¥æ‰¾å«  cmd      çš„ä¸€ä¸ªå¯æ‰§è¡Œæ–‡ä»¶ã€‚在
              Windows            å¹³å°ä¸Šï¼ŒæŸ¥æ‰¾è¢«å±•开为相åŒçš„目录和与       exec
              使用相åŒçš„æ–‡ä»¶å扩展。     Auto_exec     åœ¨ä¸€ä¸ªå«     auto_execs
              的数组中记ä½ä»¥å‰æŸ¥æ‰¾çš„ä¿¡æ¯ï¼›è¿™é¿å…在将æ¥è°ƒç”¨ç›¸åŒçš„           cmd
              时进行路径查找。å¯ä»¥ä½¿ç”¨å‘½ä»¤ auto_reset      æ¥å¼ºè¿«  auto_execok
              忘掉缓存的信æ¯ã€‚

       auto_import pattern
              在   namespace  import  期间调用  Auto_import  æ¥æŸ¥çœ‹ç”¨  pattern
              指定的导入命令是å¦é©»ç•™åœ¨ä¸€ä¸ª
              自动装载的库中。如果是,则装载这个命令,这样è¦å»ºç«‹å¯¼å…¥è¿žæŽ¥çš„解释器就å¯ä»¥èŽ·å¾—å®ƒä»¬ã€‚å¦‚æžœè¿™ä¸ªå‘½ä»¤ä¸é©»ç•™åœ¨è‡ªåŠ¨è£…è½½åº“ä¸­ï¼Œauto_import
              什么都ä¸åšã€‚

       auto_load cmd
              这个命令å°è¯•装载一个å«åš          cmd           çš„           Tcl
              命令的定义,它查找一ä¸è‡è¿åŠè£éœè½èŠè·è‚å¾å®ä¸”桓龌蚨喔瞿柯嫉囊桓隽斜怼H绻直淞
              $auto_path          存在的è¯ï¼Œåˆ™å®ƒç»™å‡ºè¿™ä¸ªè‡ªåŠ¨è£…è½½è·¯å¾„ã€‚å¦‚æžœæ²¡æœ‰
              $auto_path                   å˜é‡ï¼Œåˆ™è‹¥               TCLLIBPATH
              环境å˜é‡å­˜åœ¨åˆ™ä½¿ç”¨å®ƒã€‚å¦åˆ™è‡ªåŠ¨è£…è½½è·¯å¾„åªåŒ…å«                 Tcl
              库目录。在自动装载路径中的æ¯ä¸ªç›®å½•中必须有æè¿°åœ¨è¿™ä¸ªç›®å½•中定义的一个或多个命令的一个文件
              tclIndex,和è¦è¢«æ±‚值æ¥è£…è½½æ¯ä¸ªå‘½ä»¤çš„一个脚本。应当使用
              auto_mkindex               命令æ¥è‡ªåŠ¨ç”Ÿæˆ               tclIndex
              文件。如果在一个索引文件中找到                               cmd
              ,则求值适当的脚本æ¥å»ºç«‹è¿™ä¸ªå‘½ä»¤ã€‚如果æˆåŠŸçš„å»ºç«‹äº†       cmd,则
              auto_load          命令返回          1。如果没有给           cmd
              的索引æ¡ç›®æˆ–è¿™ä¸ªè„šæœ¬å®žé™…ä¸Šå®šä¹‰çš„ä¸æ˜¯
              cmd(例如,因为索引信æ¯è¿‡æ—¶äº†),这个命令返回
              0。如果在处ç†è¿™ä¸ªè„šæœ¬çš„æ—¶å€™å‘生了一个错误,则返回这个错误。Auto_load
              åªè¯»è¿™ä¸ªç´¢å¼•文件一次并把它ä¿å­˜åˆ°æ•°ç»„    auto_index    中;以åŽå¯¹
              auto_load              的调用将在这个数组中检查              cmd
              è€Œä¸æ˜¯é‡è¯»ç´¢å¼•文件。å¯ä»¥ç”¨å‘½ä»¤                        auto_reset
              删除缓存的索引信æ¯ã€‚这将强制下一个                     auto_load
              命令从ç£ç›˜é‡æ–°è£…载索引数æ®åº“。

       auto_mkindex dir pattern pattern ...
              生æˆé€‚åˆäºŽ     auto_load     使用的一个索引。这个命令在      dir
              中查找å字匹é…任何      pattern     傿•°çš„æ‰€æœ‰æ–‡ä»¶(使用     glob
              命令进行匹é…),生æˆåœ¨æ‰€æœ‰åŒ¹é…的文件的中定义的所有            Tcl
              命令过程的一个索引,并且在      dir      ä¸­çš„ä¸€ä¸ªå«     tclIndex
              的文件中存储索引信æ¯ã€‚如果未给出模å¼ï¼Œåˆ™å‡å®šæ¨¡å¼æ˜¯ *.tcl,例如
                     auto_mkindex foo *.tcl

              将在å­ç›®å½•读  foo   ä¸­è¯»å–æ‰€æœ‰   .tcl   文件并生æˆä¸€ä¸ªæ–°ç´¢å¼•文件
              foo/tclIndex。

              Auto_mkindex                      通过把                     Tcl
              脚本载入(source)到一个从解释器中æ¥åˆ†æžå®ƒä»¬å¹¶ç›‘视执行的      proc
              å’Œ             namespace            命令。扩展å¯ä»¥ä½¿ç”¨(没有文档)
              auto_mkindex_parser             åŒ…æ¥æ³¨å†Œå¯¹             auto_load
              索引有所贡献的其他命令。你必须阅读                      auto.tcl
              æ¥æŸ¥çœ‹è¿™æ˜¯å¦‚何工作的。

              Auto_mkindex_old   在一个相对ä¸å¤æ‚的方å¼åˆ†æž   Tcl        脚本:
              如果任何一行包å«å­—                                          proc
              为它的第一个字,则å‡å®šå®ƒä¸ºä¸€ä¸ªè¿‡ç¨‹å®šä¹‰å¹¶æŽ¥å—这一行的下一个字为这个过程的åå­—ã€‚ä¸æ˜¯ä»¥è¿™ç§æ–¹å¼å‡ºçŽ°çš„è¿‡ç¨‹å®šä¹‰(比如,在
              proc
              å‰é¢æœ‰ç©ºæ ¼)å°†ä¸è¢«ç¼–排索引。如果你的脚本包å«â€œå±é™©â€ä»£ç ï¼Œæ¯”如全局åˆå§‹åŒ–ä»£ç æˆ–有特殊字符如
              $ã€*ã€[    或    ]   的过程å字,则你使用       auto_mkindex_old
              是更安全的。

       auto_reset
              销æ¯è¢«            auto_execok            å’Œ            auto_load
              缓存的所有信æ¯ã€‚下次需è¦è¿™äº›ä¿¡æ¯çš„æ—¶å€™å°†ä»Žç£ç›˜é‡æ–°è¯»å–。Auto_reset
              还删除在                                               auto-load
              ä¸­åˆ—å‡ºçš„æ‰€æœ‰è¿‡ç¨‹ï¼Œè¿™æ ·ä¸‹æ¬¡ä½¿ç”¨å®ƒä»¬çš„æ—¶å€™å°†è£…è½½å®ƒä»¬çš„åˆ·æ–°äº†çš„å¤æœ¬ã€‚

       auto_qualify command namespace
              计算    command     的完全é™å®šçš„åå­—çš„ä¸€ä¸ªåˆ—è¡¨ã€‚è¿™ä¸ªåˆ—è¡¨é•œåƒæ ‡å‡†
              Tcl                                解释器用以查找命令的那个路径:
              首先它在当å‰å字空间中查找这个命令,接ç€åœ¨å…¨å±€å字空间中。相应的,如果
              command           是相对的并且           namespace          䏿˜¯
              ::,则返回的这个列表两个元素:           一个是由       namespace
              界定范围的command,如åŒå®ƒæ˜¯ä¸€ä¸ªåœ¨                      namespace
              å字空间中的命令一样;而å¦ä¸€ä¸ª                           command
              如åŒåœ¨å…¨å±€å字空间中的一个命令一样。å¦åˆ™ï¼Œå¦‚æžœ           command
              是ç»å¯¹çš„(它以      ::      为开始),或者      namespace       是
              ::,则这个列表åªåŒ…å«ä¸€ä¸ª                                 command
              ,如åŒå®ƒæ˜¯ä¸€ä¸ªåœ¨å…¨å±€å字空间中的命令一样。

              在 Tcl  中自动装载设施使用  Auto_qualify,用æ¥ç”Ÿæˆè‡ªåŠ¨è£…è½½ç´¢å¼•å¦‚
              pkgIndex.tcl,和用æ¥åœ¨è¿è¡Œæ—¶è¿›è¡Œå®žé™…的函数自动装载。

       tcl_findLibrary basename version patch initScript enVarName varName
              这个命令是扩展在它们的åˆå§‹åŒ–期间使用的一个标准查找过程。扩展调用这个过程æ¥åœ¨å¤šä¸ªæ ‡å‡†è·¯å¾„中查找它们的过程。目录å字的最åŽçš„æž„æˆéƒ¨åˆ†é€šå¸¸æ˜¯
              basenameversion
              (例如,tk8.0),但在建造等级上他å¯èƒ½æ˜¯â€œåº“â€ã€‚一旦找到就把
              initScript                                                  文件
              source(加载)到解释器中。把在其中找到文件的那个目录ä¿å­˜åˆ°å…¨å±€å˜é‡
              varName  中。如果已径ㄒ逭飧霰淞(比如,在应用åˆå§‹åŒ–期间用      C
              代ç ),则ä¸è¿›è¡ŒæŸ¥æ‰¾ã€‚å¦åˆ™åœ¨ä»¥ä¸‹è¿™äº›ç›®å½•中进行查找:
              由环境å˜é‡      enVarName       给出å字的目录;相对于       Tcl
              库的目录;相对于(???  relative  to)在标准安装  bin  或  bin/arch
              ä¸­çš„å¯æ‰§è¡Œæ–‡ä»¶çš„目录;相对于在当å‰å»ºé€ æ ‘ä¸­çš„å¯æ‰§è¡Œæ–‡ä»¶çš„ç›®å½•ï¼›ç›¸å¯¹äºŽåœ¨å¹¶è¡Œå»ºé€ æ ‘ä¸­çš„å¯æ‰§è¡Œæ–‡ä»¶çš„目录。

       parray arrayName
              把数组                                                 arrayName
              中的所有元素的å字和值输出到标准输出上。ArrayName
              必须是一个对于                                            parray
              的调用者是å¯ä»¥è®¿é—®çš„一个数组。它å¯ä»¥æ˜¯å±€éƒ¨çš„æˆ–全局的。

       tcl_endOfWord str start
              返回字符串 str 中在起始索引  start   之åŽå‡ºçŽ°çš„ç¬¬ä¸€ä¸ªå­—ç»“æŸ(end- |
              of-                                                              |
              word)ä½ç½®çš„的索引。定义字结æŸä½ç½®ä¸ºåœ¨èµ·å§‹ç‚¹ä¹‹åŽè·Ÿéšåœ¨ç¬¬ä¸€ä¸ªå•字字符åŽé¢çš„第一个éžå­—å­—ç¬¦ã€‚å¦‚æžœåœ¨èµ·å§‹ç‚¹ä¹‹åŽæ²¡æœ‰å­—结æŸä½ç½®åˆ™è¿”回|
              -1。关于     Tcl      如何确定哪个字符是å•字字符的详情å‚è§ä¸‹é¢å¯¹ |
              tcl_wordchars  å’Œ tcl_nonwordchars çš„æè¿°ã€‚                      |

       tcl_startOfNextWord str                                                 |
       start                                           |                       |
              返回字符串 str 中在起始索引 start  之åŽå‡ºçŽ°çš„ç¬¬ä¸€ä¸ªå­—å¼€å§‹(start- |
              of-                                                              |
              word)ä½ç½®çš„的索引。定义字开始ä½ç½®ä¸ºè·Ÿéšåœ¨ä¸€ä¸ªéžå­—字符åŽé¢çš„第一个å•å­—å­—ç¬¦ã€‚å¦‚æžœåœ¨èµ·å§‹ç‚¹ä¹‹åŽæ²¡æœ‰å­—开始ä½ç½®åˆ™è¿”回|
              -1。                                                             |

       tcl_startOfPreviousWord str                                             |
       start                                       |                           |
              返回字符串 str 中在起始索引 start  之å‰å‡ºçŽ°çš„ç¬¬ä¸€ä¸ªå­—å¼€å§‹(start- |
              of-word)ä½ç½®çš„çš„ç´¢å¼•ã€‚å¦‚æžœåœ¨èµ·å§‹ç‚¹ä¹‹å‰æ²¡æœ‰å­—开始ä½ç½®åˆ™è¿”回  -1。 |

       tcl_wordBreakAfter str                                                  |
       start                                            |                      |
              返回字符串           str           中在起始索引            start |
              之åŽå‡ºçŽ°çš„ç¬¬ä¸€ä¸ªå­—è¾¹ç•Œçš„ç´¢å¼•ã€‚å¦‚æžœåœ¨ç»™å®šå­—ç¬¦ä¸²ä¸­åœ¨èµ·å§‹ç‚¹ä¹‹åŽæ²¡æœ‰è¾¹ç•Œåˆ™è¿”回|
              -1。返回的索引å‚照组æˆä¸€ä¸ªè¾¹ç•Œ(字符)对的第二个字符。             |

       tcl_wordBreakBefore str                                                 |
       start                                           |                       |
              返回字符串            str           中在起始索引           start |
              之å‰å‡ºçŽ°çš„ç¬¬ä¸€ä¸ªå­—è¾¹ç•Œçš„ç´¢å¼•ã€‚å¦‚æžœåœ¨ç»™å®šå­—ç¬¦ä¸²ä¸­åœ¨èµ·å§‹ç‚¹ä¹‹å‰æ²¡æœ‰è¾¹ç•Œåˆ™è¿”回|
              -1。返回的索引å‚照组æˆä¸€ä¸ªè¾¹ç•Œ(字符)对的第二个字符。

åæ·é‡ VARIABLES
       在 Tcl 库中的过程定义或使用下列全局å˜é‡:

       auto_execs
              用它æ¥è®°å½•关于特定命令是å¦å­˜åœ¨ä¸ºå¯æ‰§è¡Œæ–‡ä»¶çš„ä¿¡æ¯ã€‚

       auto_index
              auto_load 用它æ¥ä¿å­˜ä»Žç£ç›˜è¯»æ¥çš„索引信æ¯ã€‚

       auto_noexec
              如果设置了任何值,则 unknown     ä¸å°è¯•自动执行任何命令。

       auto_noload
              如果设置了任何值,则 unknown     ä¸å°è¯•自动装载任何命令。

       auto_path
              如果设置了它,则它必须包å«ä¸€ä¸ªæœ‰æ•ˆçš„                         Tcl
              列表,给出在自动装载æ“ä½œä¸­è¦æŸ¥æ‰¾çš„目录。在å¯åŠ¨æœŸé—´åˆå§‹åŒ–这个å˜é‡ä¸ºä¾æ¬¡åŒ…å«:
              在      TCLLIBPATH     环境å˜é‡ä¸­åˆ—出的目录,由     $tcl_library
              å˜é‡å‘½å的目录,$tcl_library      的父目录,在      $tcl_pkgPath
              å˜é‡ä¸­åˆ—出的目录。

       env(TCL_LIBRARY)
              如果设置了它,则它指定包å«åº“脚本的目录的ä½ç½®(这个å˜é‡çš„值将被赋予
              tcl_library           å˜é‡å¹¶è¢«           info            library
              命令所返回)。如果这个å˜é‡æœªè¢«è®¾ç½®ï¼Œåˆ™ä½¿ç”¨ç¼ºçœçš„值。

       env(TCLLIBPATH)
              如果设置了它,则它必须包å«ä¸€ä¸ªæœ‰æ•ˆçš„                         Tcl
              列表,给出在自动装载æ“ä½œæœŸé—´è¦æŸ¥æ‰¾çš„目录。必须用             Tcl
              æ ¼å¼æŒ‡å®šç›®å½•,使用“/â€ä½œä¸ºåˆ†éš”符而ä¸ç®¡æ˜¯åœ¨ä»€ä¹ˆå¹³å°ä¸Šã€‚åªåœ¨åˆå§‹åŒ–
              auto_path 的时候使用这个å˜é‡ã€‚

       tcl_nonwordchars
              这个å˜é‡åŒ…å«ä¸€ä¸ªæ­£åˆ™è¡¨è¾¾å¼ï¼Œç”¨äºŽè±¡                 tcl_endOfWord |
              这样的例程æ¥è¯†åˆ«ä¸€ä¸ªå­—ç¬¦æ˜¯å¦æ˜¯ä¸€ä¸ªå­—的一部分。如果这个模å¼åŒ¹é…一个字符,则把这个字符作为一个éžå­—(non-|
              word)字符对待。在                                        Windows |
              å¹³å°ä¸Šï¼Œç©ºæ ¼ã€tabã€å’Œæ¢è¡Œè¢«ä½œä¸ºéžå­—字符对待。在             Unix |
              下,除了数字ã€å­—æ¯å’Œä¸‹åˆ’线之外,所有字符都是éžå­—字符。           |

       tcl_wordchars                                                           ||
              这个å˜é‡åŒ…å«ä¸€ä¸ªæ­£åˆ™è¡¨è¾¾å¼ï¼Œç”¨äºŽè±¡                 tcl_endOfWord |
              这样的例程æ¥è¯†åˆ«ä¸€ä¸ªå­—ç¬¦æ˜¯å¦æ˜¯ä¸€ä¸ªå­—的一部分。如果这个模å¼åŒ¹é…一个字符,则把这个字符作为一个å•字字符对待。在|
              Windows      å¹³å°ä¸Šï¼Œå­—æœ‰ä»»ä½•ä¸æ˜¯ç©ºæ ¼ã€tabã€æˆ–æ¢è¡Œçš„字符组æˆã€‚在 |
              Unix 下,字由数字ã€å­—æ¯æˆ–下划线组æˆã€‚

       unknown_pending
               unknown            用它æ¥è®°å½•正在查找的命令。在         unknown
              åœ¨è‡ªèº«ä¸Šæ— ç©·é€’å½’çš„åœ°æ–¹ï¼Œä½¿ç”¨å®ƒæ¥æ£€æµ‹é”™è¯¯ã€‚在             unknown
              返回å‰åˆ é™¤å®ƒçš„值。

åæ¸è§ SEE ALSO
       info(n), re_syntax(n)

å…ä¸é”å­ KEYWORDS
       auto-exec, auto-load, library, unknown, word, whitespace

[[2001/12/06

ã€å䏿³å› Linuxè®åŽå manæ‰æ¤å†åµé¡æ’èŠè¯çˆè®è‹åˆã€:
       http://cmpp.linuxforum.net