Tcl 特殊变量
在Tcl中,我们将一些变量分类为特殊变量,并为它们定义了一些用途/功能。特殊变量的列表如下。
序号 | 特殊变量和描述 |
---|---|
1 | argc 指的是命令行参数的数量。 |
2 | argv 指的是包含命令行参数的列表。 |
3 | argv0 指的是被解释的文件的文件名或我们调用脚本的名称。 |
4 | env 用于表示环境变量的数组元素。 |
5 | errorCode 提供上一个Tcl错误的错误代码。 |
6 | errorInfo 提供最后的Tcl错误的堆栈跟踪。 |
7 | tcl_interactive 通过将此设置为1和0来切换交互和非交互模式。 |
8 | tcl_library 用于设置标准Tcl库的位置。 |
9 | tcl_pkgPath 提供通常安装包的目录列表。 |
10 | tcl_patchLevel 指的是Tcl解释器的当前修补程序级别。 |
11 | tcl_platform 用于表示具有对象的元素数组,包括byteOrder,machine,osVersion,platform和os。 |
12 | tcl_precision 指的是转换为浮点数变为字符串时要保留的小数点后位数。默认值为12。 |
13 | tcl_prompt1 指的是主要的提示符。 |
14 | tcl_prompt2 指的是当命令无效时的次要提示符。 |
15 | tcl_rcFileName 提供用户特定的启动文件。 |
16 | tcl_traceCompile 用于控制字节码编译的跟踪。使用0表示不输出,使用1表示概要,使用2表示详细。 |
17 | tcl_traceExec 用于控制字节码执行的追踪。使用0表示没有输出,1表示摘要,2表示详细信息。 |
18 | tcl_version 返回当前Tcl解释器的版本。 |
上述特殊变量对于Tcl解释器具有特殊意义。
使用Tcl特殊变量的示例
让我们看一些特殊变量的示例。
Tcl版本
#!/usr/bin/tclsh
puts $tcl_version
当您运行程序时,您将得到类似于以下显示的输出−
8.6
Tcl环境路径
#!/usr/bin/tclsh
puts $env(PATH)
当你运行程序时,你将得到如下所示的类似输出―
/home/cg/root/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/
System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/webmaster/.local/bin:/
home/webmaster/bin:/usr/local/scriba/bin:/usr/local/smlnj/
bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/
local/dart/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/opt/mono/
bin:/opt/mono/lib/mono/4.5:/usr/local/bin:.:/usr/libexec/sdcc:/usr/local/
icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/jdk1.7.0_75/bin:/
opt/jdk1.7.0_75/jre/bin:/opt/pash/Source/PashConsole/bin/Debug/
Tcl包路径
#!/usr/bin/tclsh
puts $tcl_pkgPath
当你运行程序时,你将得到与下面类似的输出 −
/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6
Tcl库
#!/usr/bin/tclsh
puts $tcl_library
当您运行程序时,您将得到如下所示的类似输出:
/usr/share/tcl8.6
Tcl Patch Level
#!/usr/bin/tclsh
puts $tcl_patchLevel
当你运行程序时,你将会得到一个类似下面展示的输出:
8.6.6
Tcl精度
#!/usr/bin/tclsh
puts $tcl_precision
当你运行程序时,你将得到一个类似如下的输出 –
0
Tcl启动文件
#!/usr/bin/tclsh
puts $tcl_rcFileName
运行程序时,您将会得到一个类似下面展示的输出−
~/.tclshrc