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

列表 - List

列表不过是一组元素。一组单词或者使用双引号或大括号可以用来表示一个简单的列表。一个简单的列表如下所示。

#!/usr/bin/tclsh

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

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

blue
green

关联数组

关联数组有一个索引(key)但不一定是整数。人们普遍认为就像键值对是字符串。一个简单的例子如下所示。

#!/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一章看到更多内容细节。


猿狮妹
2023-01-24
TCL 数据类型 在线教程
热门教程
1 TCL逻辑运算符 下表列出了所有Tcl语言支持的逻辑运算符。假设变量A=1和变量B=0,则: 运算符 Description 例子 所谓逻辑与运算符。如果两个操作数都非零,则条件变为真。 (A B) 为 false. || 所谓的逻辑或
2 Tcl if...else语句 if语句可以跟着一个可选的else语句,else语句块执行时,布尔表达式是假的。 语法 在Tcl语言的if ... else语句的语法是: if { boolean_expression } { # statement(s) will execute if the boolean expression is
3 TCL Switch语句 switch语句可以让一个变量值的列表进行相等测试。每个值被称为一个的情况(case),该变量被接通检查每个switch case。 语法 Tcl语言未加引号的switch语句的语法如下: switch switchingStrin
4 Tcl教程 Tcl是通用多范式系统的编程语言。 Tcl是一种脚本语言,旨在为应用程序提供相互通信能力。 Tk用于许多语言的GUI构建一个跨平台的小部件工具包。
5 TCL if语句 if语句包含一个布尔表达式后跟一个或多个语句。 语法 Tcl语言的if语句的语法是: if {boolean_expression} { # statement(s) will execute if the boolean expression is true} 如果代码里布尔表达式的值为真,
6 TCL while循环 在Tcl语言while循环,只要给定的条件为真,执行目标语句声明多次。 语法 在Tcl语言while循环的语法是: while { condition } { statement ( s ) } 在这里,声明(S)可以是单个语句或语句块。所述条
7 Tcl For循环 for循环是一个循环控制结构,可以有效地编写需要执行特定的代码次数。 语法 Tcl语言for循环的语法是: for { initialization } { condition } { increment } { statement ( s ); } 下面是一个循环控制的流
8 TCL错误处理 Tcl的错误处理设置有error 和 catch命令。对每个这些命令语法如下所示。 Error 语法 error message info code 在上面的 error命令语法,message是错误信息,info是在全局变量errorInfo中设置,code是在
9 TCL嵌套循环 TCL允许使用一个循环内的另一个循环。下面的内容展示几个例子来说明这个概念。 语法 Tcl语言的嵌套的循环语句的语法如下: for {initialization} {condition} {increment} { for {initialization} {con
10 TCL数据类型 原始数据类型在Tcl中是字符串,我们常常可以找到字符串和引用在Tcl语言中。这些原始数据类型依次创建复合数据类型列表和关联数组。在Tcl中,数据类型可以表示不仅是简单Tcl的对象
  • Copyright © 2021 猿狮院, All rights reserved.