Tcl - 数据类型

Tcl的原始数据类型是字符串,通常我们可以在Tcl上找到仅作为字符串语言的引号.这些原始数据类型反过来为列表和关联数组创建复合数据类型.在Tcl中,数据类型不仅可以表示简单的Tcl对象,还可以表示复杂的对象,如句柄,图形对象(主要是小部件)和I/O通道.让我们看看上面的每一个细节.

简单Tcl对象

在Tcl中,它是否是整数,布尔值,浮点数数字或字符串.如果要使用变量,可以直接为其赋值,Tcl中没有声明步骤.可以存在这些不同类型的对象的内部表示.它可以在需要时将一种数据类型转换为另一种.为变量赋值的语法如下:<

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

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

18

以上语句将创建变量名称myVariable并将其存储为字符串,即使我们没有使用双引号.现在,如果我们尝试对变量进行算术运算,它会自动转换为整数.一个简单的例子如下所示 :

#!/usr/bin/tclsh

set myVariable 18
puts [expr $myVariable + 6 + 9]

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

33

需要注意的一件重要事情就是说,这些变量没有任何默认值,必须在使用之前赋值.

如果我们尝试使用puts打印,则数字将转换为正确的字符串.有两个表示,内部和外部,帮助Tcl轻松创建复杂的数据结构与其他语言相比.此外,由于其动态对象性质,Tcl更有效.

字符串表示

与其他语言不同,在Tcl中,您不需要包含双引号当它只是一个单词.一个例子可以是 :

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

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

hello

当我们想要表示多个字符串时,我们可以使用双引号或花括号.它显示在下面 :

#!/usr/bin/tclsh

set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

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

 hello world 
 hello world

列表

列表只是一组元素.使用双引号或花括号的一组单词可用于表示简单列表.一个简单的列表显示在下面 :

#!/usr/bin/tclsh

set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]

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

blue 
green

关联数组

关联数组的索引(键)不一定是整数.它通常是一个字符串,其作用类似于键值对.一个简单的例子如下所示 :

#!/usr/bin/tclsh

set  marks(english) 80
puts $marks(english)
set  marks(mathematics) 90
puts $marks(mathematics)

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

80 
90

句柄

Tcl句柄通常用于表示文件和图形对象.这些可以包括网络请求的句柄以及串行端口通信,套接字或I/O设备等其他通道.以下是创建文件句柄的示例.

set myfile [open"filename"r]

您将在 Tcl文件I/O 章节中看到有关文件的更多详细信息.