Tcl语言:基础入门(一)

相关阅读 

Tcl语言icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12488978.html?spm=1001.2014.3001.5482


Tcl语言:基础入门(一)_第1张图片

        Tcl语言是一种脚本语言,类似于Bourne shell(sh)、C shell(csh)、Bourne-Again Shell(bash)等UNIX shell语言。Shell程序主要作为胶水缝合其他程序,但也保证了足够的可编程性(变量,控制流和过程),这使得构造复杂的脚本成为了可能,正确使用脚本语言能大大提升工作效率。

        Tcl语言有别与其他shell语言的性质在于,它非常轻量化且易于嵌入进应用程序,并作为应用程序的命令语言尤其是EDA软件(例如Design Compiler, PrimeTime, VCS等)。用户也可以编写Tcl脚本用于执行一系列基本操作,满足用户的使用需求。

Tcl命令

        Tcl是一个基于字符串的工具命令语言(Tool Command Language)。“基于字符串”这个性质,将会在后面的学习中逐步体会。一条命令会执行一些操作,例如输出一串字符串,计算一个数据表达式...。Tcl将一切映射成命令的形式,即使变量赋值和过程定义也不例外,而只添加了少量正确调用命令所需的语法,然后将所有底层细节交给命令本身实现。

        Tcl语言的基础语法是:

command arg1 arg2 arg3

        command既可以是内建命令,也可以是一个Tcl过程。空白(空格、水平制表符)被用来分隔命令和参数,注意不可以直接用换行符分隔(这和C、C++不一样,和其他解释性语言类似),否则会报错,除非先使用\转义换行符。换行符在Tcl中表示一条命令的结尾,另一个表示结尾的符号是引号(;)。在执行一条命令前,Tcl解释器会首先进行命令参数中的替换和执行嵌套调用。

Hello World!

%puts stdout {Hello, World!}

Hello, World!

        在这个例子中,命令是puts,他接受两个参数:一个I/O流标识符和一个字符串。puts命令将字符串输出到指定I/O流并在末尾加上换行符。这里有两点值得强调:

  1. 参数是由命令解释的。在上例中,stdout用于标识标准输出流,这被包括puts在内的许多I/O命令所默认。类似地,stderr用于标识标准错误流,stdin用于标识标准输入流。
  2. 大括号被用来将一组词构成一个参数,因此puts命令接受字符串Hello, World!作为它的第二个参数,在这里使用大括号是必要的,因为这个字符串中间有空白(空格)。

        大括号是Tcl解释器的语法,它并不是参数的一部分,在参数被传递给命令前会删除。它的作用是将所有字符组织在一起,包括换行符和递归的括号直到找到一个对应的右括号。Tcl也使用双引号组织字符。下面展示了一些大括号的使用。

#用于输出有空白的字符串
%puts stdout {abc def}

abc def

#甚至可以接受字符串里有换行符
%puts stdout {abc
def}

abc
def

#如果使用\转义换行符,则字符串不包含换行符且会忽略下一行的所有前置空格并将换行符换为一个空格
%puts stdout {abc\
   def}

abc def

#对于上面这些简单的字符串,使用{}与""没有差别

你可能感兴趣的:(Tcl语言,Tcl)