Tcl - 变量

在Tcl中,没有变量声明的概念.一旦遇到新的变量名,Tcl将定义一个新变量.

变量命名

变量名称可以包含任何字符和长度.您甚至可以通过将变量括在花括号中来获得空格,但它不是首选.

set命令用于为变量赋值. set命令的语法是,

set variableName value

A几个变量的例子显示在下面和下面;

#!/usr/bin/tclsh

set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}

当执行上面的代码时,它产生以下结果 :

10 
test

正如您在上面的程序中所看到的,$ variableName用于获取变量的值.

动态打字

Tcl是一种动态类型语言.必要时,变量的值可以动态转换为所需的类型.例如,存储为字符串的数字5将在进行算术运算时转换为数字.它显示在下面 :

#!/usr/bin/tclsh

set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum

执行上述代码时,会产生以下结果 :

10 
30

数学表达式

尽可能参见上面的例子,expr用于表示数学表达式. Tcl的默认精度为12位数.为了获得浮点结果,我们应该添加至少一个十进制数字.一个简单的例子解释了上述情况.

#!/usr/bin/tclsh

set variableA "10"
set result [expr $variableA / 9];
puts $result
set result [expr $variableA / 9.0];
puts $result
set variableA "10.0"
set result [expr $variableA / 9];
puts $result

执行上述代码时,会产生以下结果 :

1
1.1111111111111112
1.1111111111111112

在上面的示例中,您可以看到三种情况.在第一种情况下,被除数和除数是整数,我们得到一个整数作为结果.在第二种情况下,除数单独是十进制数,在第三种情况下,被除数是十进制数.在第二种和第三种情况下,我们得到一个十进制数作为结果.

在上面的代码中,您可以使用tcl_precision特殊变量来更改精度.它显示在下面 :

#!/usr/bin/tclsh

set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result

执行上述代码时,会产生以下结果 :

1.1111