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

NAME

       tclvars - Tcl 使用的变量

 DESCRIPTION
       Tcl
       库自动的建立和管理下列全局变量。除了下面专做说明的地方之外,对特定于应用的代码和用户,这些变量通常应当作为只读的来对待。

       env    Tcl
              把这个变量维护为一个数组,它的元素是这个进程的环境变量。读取一个元素将返回相应的环境变量的值。设置这个数组的一个元素将修改相应的环境变量,如果它不存在则建立一个新的。删除
              env            的一个元素将删除相应的环境变量。对            env
              数组的变更将影响通过象                                      exec
              这样的命令传递给子进程的环境变量。如果删除了整个             env
              数组,则 Tcl 将停止监视 env     访问并且将不更新环境变量。
              在  Windows  下,任何大小写形式的环境变量   PATH   和    COMSPEC |
              都被自动转换成                                大写的。例如,PATH |
              环境变量可以被操作系统导出为"path"、"Path"、"PaTh"、             |
              等,这导致其他简单       Tcl     代码必须支持许多特殊的写法。Tcl |
              继承的所有其他 环境变量保持不变。
              在 Macintosh  上,Tcl   把环境变量构造为非现存的全局环境变量。为
              Tcl  建立的环境变量包括:

              LOGIN  它持有 Macintosh 的 Chooser 名字。

              USER   它也持有 Macintosh 的 Chooser 名字。

              SYS_FOLDER
                     到系统目录的路径。

              APPLE_M_FOLDER
                     到 Apple 菜单目录的路径。

              CP_FOLDER
                     到控制面板目录的路径。

              DESK_FOLDER
                     到桌面目录的路径。

              EXT_FOLDER
                     到系统扩展目录的路径。

              PREF_FOLDER
                     到偏好目录的路径。

              PRINT_MON_FOLDER
                     到打印监控器目录的路径。

              SHARED_TRASH_FOLDER
                     到网络垃圾箱目录的路径。

              TRASH_FOLDER
                     到垃圾箱目录的路径。

              START_UP_FOLDER
                     到启动目录的路径。

              HOME   到应用程序的缺省目录的路径。

              你还可以为  Macintosh 建立你自己的环境变量。叫做 Tcl Environment
              Variables                的一个文件将被放置到                Mac
              系统文件夹中的偏好文件夹中。这个文件中的每行的形式都是
              VAR_NAME=var_data。

              最后的选择是把环境变量放置到这个应用的叫做    Tcl    Environment
              Variables  的一个`STR#'资源文件中。这被认为是更象"Mac  式"而不是
              一个                                                        Unix
              式样的环境变量文件。`STR#'资源中每个条目有与上述相同的格式。源
              代码文件  tclMacEnv.c  包含   env   机制的实现。这个文件包含许多
              #define ,它们允许你定制 env 机制来适合你的应用的需要。

       errorCode
              在发生了一个错误之后,设置这个变量为持有关于错误的补充信息,它的形式易于用程序处理。errorCode
              由有一个或多个元素的一个                                     Tcl
              列表组成。这个列表的第一个元素标识错误的一个一般的类别,并决定列表余下部分的格式。Tcl
              核心为 errorCode 使用下列格式;个别应用可以定义补充的格式。

              ARITH code msg
                     在发生一个算术错误的时候使用这个格式(例如,在        expr
                     命令中尝试除以零)。Code        标识准确的错误而       msg
                     提供一个人可阅读的对错误的描述。Code
                     将是下列之一:DIVZERO                (尝试除以零)、DOMAIN
                     (如果函数的一个参数在它的作用域之外,比如
                     acos(-3))、IOVERFLOW         (整数溢出)、        OVERFLOW
                     (浮点数溢出)、或 UNKNOWN (如果不能确定错误的砸)。

              CHILDKILLED pid sigName msg
                     在子进程被一个信号所终止的时候使用这个格式。errorCode
                     的第二个元素是这个进程的标识符(十进制数)。第三个元素标识导致进程终止的信号的符号名字;它将是在文件
                     signal.h                           中包含的名字之一,比如
                     SIGPIPE。第四个元素是一个描述这个信号的人可阅读的短消息,比如对
                     SIGPIPE是"write on pipe with no readers"。

              CHILDSTATUS pid code
                     在子进程以非零状态退出的时候使用这个格式。errorCode
                     的第二个元素是这个进程的标识符(十进制数),而第三个元素是这个进程返回的退出代码(也是十进制数)。

              CHILDSUSP pid sigName msg
                     在子进程被一个信号所挂起的时候使用这个格式。errorCode
                     的第二个元素是这个进程的标识符,是一个十进制数。第三个元素识导致进程挂起的信号的符号名字;它将是在文件signal.h
                     中包含的名字之一,比如                          SIGTTIN。
                     第四个元素是一个描述这个信号的人可阅读的短消息,比如对
                     SIGTTIN 是"background tty read"。

              NONE   对除了返回错误消息之外没有其他可获得的补充信息的错误使用这个格式。在这种情况下
                     errorCode
                     将由只有一个单一元素的一个列表组成,这个元素的内容是
                     NONEPOSIX errName msg
                     如果   errorCode  的第一个元素是  POSIX,则错误发生在一个
                     POSIX
                     内核调用期间。这个列表的第二个元素将包含发生的错误的符号名字,比如
                     ENOENT;它将是在包含文件                          errno.h
                     中定义的值之一。这个列表的第三个元素是对应于      errName
                     的一个人可阅读的消息,比如对 ENOENT 是"no  such  file  or
                     directory"。

              要设置   errorCode,应用应当使用库过程比如  Tcl_SetErrorCodeTcl_PosixError,或者调用  error 命令。如果使用了这些方法之一,则
              Tcl 解释器将在下个错误之后重置这个变量为 NONEerrorInfo
              在一个错误发生之后,这个字符串将包含标识在最新近的错误发生时正在执行的
              Tcl
              命令和过程的一行或多行。它的内容使用栈跟踪的形式,展示在错误发生时调用的各个嵌套的
              Tcl 命令。

       tcl_library
              这个变量持有包含系统                                         Tcl
              脚本库的一个目录的名字,比如用于自动装载的那些目录。info library
              命令返回这个变量的值。关于   Tcl    脚本库的详情请参见   library
              手册条目。                        除了                       Tcl
              脚本库之外,每个应用或包通常都有它自己的特定于应用的脚本库;每个应用都应该设置名字象
              $app_library            这样的一个全局变量(这里的            app
              是这个应用的名字)来持有这个应用的库目录的网络文件名字。在建立解释器的时候,通过查找许多不同目录直到找到包含一个适当的
              Tcl    启动脚本的目录,来设置    tcl_library    的最初的值。如果
              TCL_LIBRARY           环境变量存在,则首先访问它指名的目录。如果
              TCL_LIBRARY        未被设置或不参照一个适当的目录,则        Tcl
              检查基于在其中编译(compiled-
              in)的缺省位置的其他一些目录、包含应用的二进制文件的位置、和当前工作目录。

       tcl_patchLevel
              在建立解释器的时候   Tcl   初始化这个变量来持有给出当前的    Tcl
              补丁级别的一个字符串,比如  7.3p2 是Tcl 7.3 的第二次官方补丁,而
              7.4b4  是  Tcl  7.4  的第四次  beta      发布。info   patchlevel
              命令返回这个值。

       tcl_pkgPath                                                             ||
              这个变量持有一个目录的列表,它一般指示把包安装到哪里。在 Windows |
              上不使                                                           |
              用它。它典型的包含一个或两个条目;如果它包含两个条目,第一个通常是依赖于|
              平台的包的目录(例如,共享库的二进制文件)而第二个通常是平台无关的包的目录|
              (例如,脚本文件)。典型的把包安装为在                $tcl_pkgPath |
              中的一个条目的  一个子目录。在 $tcl_pkgPath 中的目录缺省的包含在 |
              auto_path         变量中,所以          package          require |
              命令期间自动的在它们和它们的直接子目           录中查找包。注意: |
              不希望应用修改       tcl_pkgPath。在启动时它的值被添加        到 |
              auto_path;对     tcl_pkgPath     的变动不会反映到     auto_path |
              中。如果你想让      Tcl       来在额外的目录中查找包,你应该把这 |
              些目录的名字添加到 auto_path,而不是 tcl_pkgPathtcl_platform
              这是一个关联数组,它的元素包含关于应用在其上运行的平台的信息,比如操作系统的名字、它的当前发行号、和机器的指令集。总是定义下列元素,但是如果
              Tcl
              不能检索到任何有关的信息,则它们的值将是空串。除此之外,扩展和应用可以向这个数组添加补充的值。预先定义的元素是:

              byteOrder                                                        ||
                     这个机器的本地字节序: littleEndianbigEndiandebug  如果这个变量存在,则编译解释器时启用了调试符号。只在
                     Windows   上存在这个变量,扩展作者可以依赖于所装载的    C
                     运行时库来指定装载哪个包。

              machine
                     这个机器执行的指令集,比如   intelPPC68k、或sun4m。在
                     UNIX 机器上,用 uname -m 返回这个值。

              os     在这个机器上运行的操作系统的名字,比如            Windows
                     95Windows  NTMacOS、或  SunOS。  在  UNIX  机器上,用
                     uname  -s  返回这个值。在  Windows  95  和   Windows   98
                     上,返回的值将是  Windows  95  来提供更好的对  Windows 95
                     的反向兼容;要区别二者,请检查 osVersionosVersion
                     在这个机器上运行的操作系统的版本号。在  UNIX   机器上,用
                     uname  -r  返回这个值。在 Windows 95 上,版本将是 4.0;在
                     Windows 98 上,版本将是 4.10。

              platform
                     windowsmacintosh、或                               unix
                     之一。它表示这个机器的一般操作环境。

              threaded
                     如果这个变量存在,则编译这个解释器时启用了线程。

              user   它基于在平台上获得的登录信息标识当前用户。在  Unix 它源自
                     USER 或 LOGNAME 环境变量,在 Windows 和 Macintosh  上源自
                     GetUserName。

       tcl_precision
              这个变量在把浮点数转换成字符串时控制生成的数字的数目。它缺省的是 |
              12。对于              IEEE               浮点数               17 |
              位数字是"最佳的",这样允许双精度值在二进制和字符串之间来回转换而不丢失信息。但是,使用|
              17                                                               |
              位数字将禁止任何舍入,这将生成更长,而更不直观的值。例如,expr   |
              1.4      在设置      tcl_precision      为       17       时返回 |
              1.3999999999999999,而在设置 tcl_precision 为 12 时返回 1.4 。   |
              在一个进程中的所有解释器共享一个单一的     tcl_precision     值: |
              在一个解释器中改变它将同样影响所有其他解释器。但是,不允许安全解释器修改这个变量。|

       tcl_rcFileName
              在初始化期间使用这个变量来指示特定于用户的启动文件的名字。如果在特定于应用的初始化中设置了它,则
              Tcl 启动代码将检查这个文件是否存在,并且如果它存在的话则  source
              (载入)它。例如,对于 wish ,这个变量被设置成给 Unix 的 ~/.wishrc
              和给 Windows 的 ~/wishrc.tcltcl_rcRsrcName
              这个变量只在                                           Macintosh
              系统上使用。在初始化期间使用这个变量来指示位于应用或扩展资源
              fork                  中的一个特定于应用的                  TEXT
              资源的名字。如果特定于应用的初始化设置了它,则               Tcl
              启动代码将检查资源是否存在,如果存在则                    source
              它。例如,Macintosh wish  应用设置这个变量为 tclshrctcl_traceCompile
              设置这个变量的值来控制在字节码编译期间显示多少跟踪信息。缺省的,tcl_traceCompile
              是零且不显示信息。设置            tcl_traceCompile            为
              1,在编译一个过程或顶层命令的时候在标准输出上生成一行总结。设置它为
              2,在标准输出上详细的列出在每次编译期间散发(???
              emit)的字节码指令。在跟踪怀疑是                              Tcl
              编译器的问题时很有用。在把现存代码转换成 Tcl8.0 时也偶尔有用。

       tcl_traceExec
              设置这个变量的值来控制在字节码执行期间显示多少跟踪信息。缺省的,tcl_traceExec
              是零而不显示信息。设置  tcl_traceExec  为  1,在每次调用一个 Tcl
              过程的时候在标准输出上生成一行跟踪。设置它为
              2,在用命令的名字和它的参数调用任何Tcl
              命令的时候,生成一行输出。设置它为
              3,生成一个详细的跟踪,展示每个字节码指令的执行结果。注意在
              tcl_traceExec 是 2 或 3 的时候,不展示象 set  和  incr  这样已-
              被整个替换为一个字节码指令序列的命令。在跟踪怀疑是           Tcl
              编译器和解释器的问题时很有用。在把现存代码转换成          Tcl8.0
              时也偶尔有用。

       tcl_wordchars
              这个变量的值是一个正则表达式,设置它来控制认把什么字符认为是"字"字
              符。例如在  Tk  的文本框中用双击来选择一个字。它是平台相关的。在
              Windows        上,它缺省为        \S,意思是除了        Unicode
              空格字符之外的任何字符。其他 平台上缺省为 \w,它是任何   Unicode
              字字符(数字、字母、下划线)。

       tcl_nonwordchars
              这个变量的值是一个正则表达式,设置它来控制认把什么字符认为是"非字"
              字符。例如在                                                  Tk
              的文本框中用双击来选择一个字。它是平台相关的。在         Windows
              上,它缺省为 \s,意思是任何 Unicode 空格字符。其他平台上缺  省为
              \W,它是除了 Unicode 字字符(数字、字母、下划线)之外的任何字符 。

       tcl_version
              在建立解释器的时候,Tcl    初始化这个变量来持有这个版本的    Tcl
              的版本号,形式是                    x.y。对                    x
              的变更表示可能导致不兼容的较大的变化,对                       y
              的变更表示保持反向兼容的小增强和缺陷修理,info        tclversion
              命令返回这个变量的值。

 SEE ALSO
       eval(n)

 KEYWORDS
       arithmetic, bytecode, compiler, error, environment,  POSIX,  precision,
       subprocess, variables

[[2001/12/10

 Linux man:
       http://cmpp.linuxforum.net