目录

第一个TCL程序

注释

标识符

Tcl空格

Tcl命令

命令替换

变量替换

反斜杠替换


TCL 是相当简单易学,让我们开始创建第一个Tcl程序!

第一个TCL程序

让我们写一个简单的Tcl程序。所有的Tcl文件都以.tcl为扩展名。所以,把下面的源代码在 test.tcl 文件中。

#!/usr/bin/tclshputs "Hello, World!" 

假设,TCL环境设置正确;让我们切换到文件所在的目录,然后运行该程序:

$ tclsh test.tcl

我们会得到下面的输出。

Hello, World!

现在,让我们来看看Tcl程序的基本结构,因此,这可以了解Tcl语言的基本构建块。在TCL,我们使用新的行或分号终止代码前行。但分号不是必要的,如果使用的是每一个命令(即一个换行)。

注释

注释就像帮助文本在Tcl程序,解释器忽略它们。注释可以使用hash_(#)在开始写入。

#!/usr/bin/tclsh# my first program in Tcl
puts "Hello World!" 

多行或者块注释使用,如果条件为0。一个例子如下所示。

#!/usr/bin/tclshif 0 {
my first program in Tcl program
Its very simple
}
puts "Hello World! welcome to yiibai.com" 

行内注释使用;#。下面给出一个例子。

#!/usr/bin/tclshputs "Hello World!" ;# my first print in Tcl program

标识符

一个Tcl标识符是用来标识变量,函数,或任何其它用户定义的项目的名称。一个标识符开始以字母A到Z或a〜z或后跟零个或多个字母下划线(_),下划线,美元($)和数字(0〜9)。

TCL不允许标点字符,如@和%标识符。TCL是大小写敏感的语言。因此Manpower 和manpower 在Tcl是两个不同的标识符。这里是可接受的标识符的一些例子:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

Tcl空格

仅包含空格,可能与注释行,被称为一个空行和Tcl解释完全忽略它。

空白格是Tcl中用来描述空格,制表符,换行符和注释的术语。空格分开一声明中的一个组成部分,使解释器来识别,其中在声明一个元件,如puts, ends和下一个元素开始。因此,在下面的语句:

#!/usr/bin/tclshputs "Hello World!" 

必须有puts和之间“Hello World!”至少一个空白字符(通常是一个空格),以便解释器能够区分它们。另一方面,在下面的语句

#!/usr/bin/tclshputs [expr 3 + 2] ;# print sum of the 3 and 2

有时不需要空格在字符之间,如3和+之间,或+和2也没有必要(可以不用),虽然是自由的,如果想为便于阅读,包括一些空白格。

Tcl命令

Tcl命令实际上是词语的列表,使用要执行表示该命令的第一个字。接下来的单词代表参数。为了组单词组成单一的参数,随函多个单词可使用“”或{}。

Tcl命令的语法如下:

commandName argument1 argument2 ... argumentN

让我们来看看Tcl命令的一个简单的例子。

#!/usr/bin/tclshputs "Hello, world!"

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

Hello, world!

在上面的代码中,提出的是Tcl命令和“Hello World”的是参数1。正如前面所说,我们用“”组成两个词。

让我们来看看Tcl命令的另一个例子使用两个参数。

#!/usr/bin/tclshputs stdout "Hello, world!"

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

Hello, world!

在上面的代码中,puts 是Tcl命令,stdout是参数1 以及“Hello World”参数2。在这里,标准输出使得在标准输出设备打印的程序。

命令替换

在命令替换,方括号是用来计算在方括号中的脚本。

一个简单的例子,两个数字相加如下所示。

#!/usr/bin/tclshputs [expr 1 + 6 + 9]

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

16

变量替换

在变量替换,$使用在变量名之前,这将返回该变量的内容。

一个简单的例子为一个值设置为变量并打印如下所示。

#!/usr/bin/tclshset a 3
puts $a

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

3

反斜杠替换

这些通常被称为转义序列,每个反斜线后跟有自己的含义字母。

一个简单的例子换行符替换如下所示。

#!/usr/bin/tclshputs "Hello\nWorld"

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

Hello
World

转载自:Tcl命令

初识Tcl(一):Tcl 命令相关推荐

  1. tcl/tk参考——tcl内建命令

    TCL内建命令 命令更新中,有链接的命令可以直接点击查看 字符串操作 append - 在变量后添加变量 binary - 从二进制字符串中插入或释放数值 format - 使用sprintf的风格格 ...

  2. TCL系列 - incr命令

    文章目录 本篇文章介绍Incr命令 参考Tcl/Tk 经典书籍 incr命令,需要读入的是两个参数,一个参数是变量名,一个参数是一个整数 注意,这句话很重要,需要记住.incr是通过将这个整数加到这个 ...

  3. tcl脚本vsim命令的参数列表

    打开modelsim,在底部输入命令:vsim -help,能够打印相关的命令 # Usage: vsim [options] [[<library>.]<primary>[( ...

  4. Tcl列表排序命令之lsort

    lsort ?options? list 对列表中的元素进行排序,返回排序后的新列表.默认情况下以ascii的顺序递增排序.options支持以下选项: 选项 说明 -ascii 字符串比较. -di ...

  5. tcl计算机语言,TCL语言

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! Tcl (最早称为"工具命令语言""Tool Command Language", 但 ...

  6. tcl mysql_MySQL·TCL语言

    TCL语言就是我们所说的事务控制语言.首先事务的定义就是:一条或者多条SQL语句所组成的一个执行单位,且该组sql语句要么执行要么都不执行.事务有四大特性(ACID),分别为: (1).原子性(A): ...

  7. 初识lemur--试验indribuildindex命令

    2012年4月17号,我从lemur(狐猴)http://www.lemurproject.org/官网下载了Indri-5.2-install.exe.我开始安装这个软件,过程中选择了一个" ...

  8. 初识50个Linux命令

    1. [命令]:cat [功能说明]: concatenate files and print on the standard output #连接文件并打印到标准输出,有标准输出的都可以用重定向定向 ...

  9. 初识 Mac机子 关机命令

    对于使用惯了windows系统的我来说  ,刚接触Mac 关机的时候只能按电源键 傻瓜式强制关机.随 就查找了这些关机命令.... 转载自:http://pulading1988.diandian.c ...

  10. 数据库-初识Redis(基础命令)

    Redis基础命令 redis基础 基本数据类型 1.String 2.list 3.hash 4.set 5.zset 其他数据类型 HyperLogLog bitmap 位图 Geospatial ...

最新文章

  1. springboot学习笔记(八)
  2. 少儿编程150讲轻松学Scratch(十二)-用Scratch制作石头剪子布游戏
  3. mysql函数未定义_未定义的函数,MYSQL错误
  4. 2021年香水品牌社媒营销分析报告
  5. Android Setting 日期相关API,自定义DatePicker
  6. OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
  7. 若依框架如何进行单元测试
  8. 技术人的年货福利:百宝黑皮书在手,2020年技术栈变革一次看透 | 免费下载
  9. Androidstudio设置Ctrl+W关闭当前编辑的页面窗口
  10. 蓝桥杯 ADV-112 算法提高 c++_ch02_01
  11. 查看 java heapspace_Java heap space 问题查找
  12. 绿色自适应网址发布页html源码
  13. linux im-scim-bridge.so 使用,Ubuntu SCIM 输入法不能光标跟随的解决
  14. 软件工程——软科中国大学专业排名
  15. 域名邮箱用GMAIL,live
  16. 在editplus中 删除空白行、匹配删除行
  17. SCU 2818 QQ音速
  18. java中父类与子类有相同属性调谁?取决于左边
  19. C++ 求n的阶乘n!(n0)
  20. python mssql github_GitHub 标星 1.6w+项目 HelloGitHub,让开发更简单的开源启蒙手册!...

热门文章

  1. 《Pro ASP.NET MVC 3 Framework》学习笔记之九【Ninject的使用-下】
  2. 解决MySQL命令行无法连接问题错误ERROR1045(28000)
  3. Adobe Flex 3.0 和 AIR 1.0 正式发布
  4. 电脑粉碎文件 c语言,文件操作(二):文件粉碎机
  5. android gridview item 点击,Android-取消GridView/ListView item被点击时的效果
  6. linux 故障注入_libfiu
  7. 如何写sybase sql脚本文件_写一个删除lock文件的skill脚本
  8. Java 增强型的for循环 for each
  9. 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定
  10. android ip 黑白名单,GaussDB T 单机 IP黑白名单配置