Provided by: manpages-zh_1.6.3.3-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 starttcl_startOfNextWord str starttcl_startOfPreviousWord str starttcl_wordBreakAfter str starttcl_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 patternnamespace      import     期间调用     Auto_import     来查看用     pattern
              指定的导入命令是否驻留在一个
              自动装载的库中。如果是,则装载这个命令,这样要建立导入连接的解释器就可以获得它们。如果这个命令不驻留在自动装载库中,auto_import
              什么都不做。

       auto_load cmd
              这个命令尝试装载一个叫做                 cmd                 的                 Tcl
              命令的定义,它查找一个自动装载路径,它是一个或多个目录的一个列表。如果全局变量
              $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/tclIndexAuto_mkindex  通过把   Tcl   脚本载入(source)到一个从解释器中来分析它们并监视执行的
              proc  和  namespace 命令。扩展可以使用(没有文档)     auto_mkindex_parser 包来注册对
              auto_load                  索引有所贡献的其他命令。你必须阅读              auto.tcl
              来查看这是如何工作的。

              Auto_mkindex_old  在一个相对不复杂的方式分析  Tcl     脚本: 如果任何一行包含字 proc
              为它的第一个字,则假定它为一个过程定义并接受这一行的下一个字为这个过程的名字。不是以这种方式出现的过程定义(比如,在
              proc
              前面有空格)将不被编排索引。如果你的脚本包含“危险”代码,比如全局初始化代码或有特殊字符如
              $*[] 的过程名字,则你使用     auto_mkindex_old 是更安全的。

       auto_reset
              销毁被                   auto_execokauto_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

       本页面中文版由中文 man 手册页计划提供。
       中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh