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