Tcl的注释与续行

电子说

1.3w人已加入

描述

Tcl中的注释符为井号#,但井号#的位置是有所讲究的,即它必须位于命令的第一个字符。从这个角度而言,Tcl的注释和命令处于同一层次,这意味着一个注释要占用一个命令位置。看一个简单的例子。在这个例子中,第一条注释独自占据一行并以#开始,因此该注释是合法的;第二条注释尽管和set命令在同一行,但set命令后紧随分号,表明命令结束,故该注释也是合法的;第三条注释中,#出现在set命令中间,并不是命令的第一个字符,而被当做set命令的一部分,从而造成set命令参数设置不合理。

TCL

如果在注释语句中出现了反斜杠,那么即便另起一行,该行仍被认为是注释的一部分。如下图所示。

TCL

如果需要注释掉大段的代码块,可采用如下三种方法。

方法1:采用if语句

这个方法是被普遍接受的方法,如下图所示。由于if条件判断始终为0,故花括号中的代码块将不会被执行。

方法2:利用花括号注释

Tcl中花括号如果用做参数分组,则其内部置换均被阻止,故可利用此特性实现大段代码块的注释,如下图所示。

方法3:利用过程proc

Tcl中的proc类似于C语言中的函数,只有当函数被调用时,该函数才会被执行。同样地,只有该过程proc被调用,才会被做为命令去执行。如下图所示。commented_out没有参数(过程名后的花括号为空),且该过程在后续脚本中没被调用,从而达到了注释的目的。

上述三种方法最终执行的结果如下图所示,可以看到x的值时钟是100,同时y并没有被赋值,从而验证了该方法的有效性。

Tcl中采用反斜杠可实现续航。需要注意的是反斜杠后面同一行不能跟随任何字符包括空格和制表符,否则续行功能将无效。如下图所示。第一个反斜杠后直接回车换行,故变量a的值即为hello;第二个反斜杠后有空格,变量x被赋值为空格,此时反斜杠起到置换的作用,而不是续行的功能。

结论:

-Tcl中的注释需要以#开始,且#应位于命令位置的第一个字符

-Tcl中的续行通过反斜杠来实现,但反斜杠后不能跟其他字符

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分