Tcl - 基本语法

Tcl非常简单易学,让我们开始创建我们的第一个Tcl程序!

第一个Tcl程序

让我们编写一个简单的Tcl程序.所有Tcl文件都有一个扩展名,即.tcl.因此,将以下源代码放在test.tcl文件中.

#!/usr/bin/tclsh

puts "Hello, World!"

假设,Tcl环境设置正确;让我们在切换到文件目录后运行程序然后使用&minus执行程序;

$ tclsh test.tcl

我们将得到以下输出 :

Hello, World!

现在让我们看一下Tcl程序的基本结构,这样你就可以很容易地理解Tcl语言的基本构建块了.在Tcl中,我们使用换行或分号来终止前一行代码.但是如果你为每个命令使用换行符,则不需要分号.

注释

注释就像帮助你的Tcl程序和解释器中的文本一样忽略它们.可以在开头使用哈希_(#)符号编写注释.

#!/usr/bin/tclsh

# my first program in Tcl
puts "Hello World!"

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

Hello World!

使用条件为"0"的"if"写入多行或块注释.示例如下所示.

#!/usr/bin/tclsh

if 0 {
   my first program in Tcl program
   Its very simple
}
puts "Hello World!"

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

Hello World!

内联评论使用;#.下面给出一个例子.

#!/usr/bin/tclsh

puts "Hello World!" ;# my first print in Tcl program

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

Hello World!

标识符

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中的一些保留字.这些保留字不能用作常量或变量或任何其他标识符名称.

afterappendarrayauto_execok
auto_importauto_loadauto_load_indexauto_qualify
binaryBgerrorbreakcatch
cdClockcloseconcat
continueDdedefaultelse
elseifEncodingeoferror
evalExecexitexpr
fblockedFconfigurefcopyfile
fileeventFlushforforeach
formatGetsglobglobal
historyIfinfointerp
joinLappendlindexlinsert
listLlengthloadlrange
lreplaceLsearchlsortnamespace
openPackagepidpkg_mkIndex
procPutspwdread
regexpRegsubrenameresource
returnScanseekset
socketSourcesplitstring
substSwitchtclLogtell
timeTraceunknownunset
updateUplevelupvarvariable
vwaitWhile

Tcl中的空格

只包含空格(可能带有注释)的行称为空行,而Tcl解释器完全忽略它。

空格是Tcl中用于描述空格,制表符,换行符和注释的术语。 空格将语句的一部分与另一部分分开,并使解释器能够识别语句中一个元素的位置,例如puts,end和下一个元素的开始位置。 因此,在以下声明中:

#!/usr/bin/tclsh

puts "Hello World!"

在"puts"和"Hello World!"之间必须至少有一个空白字符(通常是空格)。 让翻译能够区分它们。 另一方面,在以下声明中:

#!/usr/bin/tclsh

puts [expr 3 + 2] ;# print sum of the 3 and 2

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

5

3和&plus之间或者&plus之间不需要空白字符。 和2; 但是,如果您希望出于可读性目的,可以自由添加一些。