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]

时间: 2024-11-14 10:59:54

TCL数据类型的相关文章

Oracle数据类型,DDL、DML、DCL、TCL语言,SQL操作符,SQL函数

SQL查询与SQL函数 本章目标 了解Oracle数据类型  了解数据定义语言和数据操纵语言  了解事务控制语言和数据控制语言  掌握SQL操作符和SQL函数  SQL(structured query language)--结构化查询语言   通过SQL可以实现与Oracle服务器的通信   SQL是数据库语言,Oracle使用该语言存储和检索信息       表是主要的数据库对象,用于存储数据 用户  --------------------发送SQL语句查询----------------

内外连接、组函数、DDL、DML和TCL

前言 cross join ,是笛卡尔积:nature join 是自然连接. 正文 内外连接 inner join inner join 的inner可以省略. 内连接 在一个表中能够找到在另一个表中与之对应的记录,来组成新的记录显示出来,舍弃表中在另一个表中没有对应记录的记录. 等值连接 一个表中的某个字段是另一个表的外键 例如.emp表和dept表存在多对一的关联关系,由外键字段deptno来维护,即emp表来主动维护这一关系. 非等值连接 between and 来实现非等值连接: se

TCL语言笔记:TCL中的String命令

一.介绍 字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令.一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较.搜索等操作. 二.string命令列表 命     令 说      明 string bytelength str 返回用于存储字符串的字节数. string compare ?-nocase? ?- length len? str1 str2 根据词典顺序比较字符串.-nocase 选项表示大小写无关.-length 选项

SQLserver数据库基础以及数据类型

一.数据库的基础和管理: 持久化技术:内存->文件->数据库(相对来说用的最多,流行) 1.数据库: 1.存储海量数据(P)大数据,云计算 2.安全性 3.易于管理和操作(ddl,dml.tcl...) 4.数据的共享(并发访问) 2.产品品牌:(关系型数据库) oracle:甲骨文(sun:java) ordbm(面向对象的关系型数据库) db2:IBM(RDB) sybase:SYBASE mysql:sybase 免费 (***) sqlserver:ms(性价比高,客户量大)(***)

初识数据库(数据类型)

定义 什么是数据库:在硬盘中开辟一块空间,用来存储数据的统称: 为什么用数据库: 1.数据库可以实现数据共享: 2.减少数据冗余: 3.数据的独立性: 4.数据的一致性: 5.故障恢复: 结构类型 数据的结构类型: 层次(树状)数据结构 -> 网状数据结构 -> 关系数据结构(目前)   对象数据结构(未来可能趋势) 数据库提供商: Oracle/SyBase/DB2  大型数据库 Mysql/sqlServer  小型数据库 Access  微型数据库 Oracle Oracle数据库: 甲

TCL列表

列表是Tcl的基本可用数据类型之一.它是用于表示项目的有序集合.它可以包括不同类型的在同一列表的项目.此外,一个列表可以包含另一个列表. 需要注意的一个重要的事情是,列表表示为完全串并处理在需要时,形成的各个项目.所以要避免大的列表,在这种情况下,可使用数组代替. 创建一个列表 列表的一般语法如下. set listName { item1 item2 item3 .. itemn } # or set listName [list item1 item2 item3] # or set lis

1 TCL脚本基本语法(概要)

TCL常用基本语法 一个TCL脚本可以包含一个或多个命令.命令之间必须用换行符或分号隔开. 第一个单词代表命令名,另外的单词则是这个命令的参数,用空格或TAB键隔开. 变量置换$. 命令置换[] 反斜杠置换\ ,例如set msg multiple\ space ,如果没有\则有报警. 双引号将各种分隔符将不作处理,对换行符及$和[]两种置换符会照常处理. 花括号中所有特殊字符成为普通字符,失去其意义. 注释符 '#' $符号往后直到第一个不是字母.数字或下划线的字符之间的单词符号作为要被置换的

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL A

JavaScript数据类型检测

一.JavaScript 数据类型 1.基本数据类型(6种) Undefined Null Boolean Number String Symbol (ES6新增) 2.引用数据类型: Object 二.数据类型检测 1. typeof 可以检测除null 外的基本类型.null 和所有对象的typeof都是"object", 不能用于检测用户自定义类型. 比如Date, RegExp, Array, DOM Element的类型都是"object". var s