Provided by: manpages-zh_1.5.1-2_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