Provided by: manpages-zh_1.5.2-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 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_wordcharstcl_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