如何在Tcl中放置块注释?

如何在Tcl中放置块注释?,tcl,Tcl,我这里有密码 proc checkPrime {no} { set i 1 set count 0 while {$i < $no} { if {{$no%$i} eq 0} { incr count } if {$count eq 2} { puts "the number is prime number" r

我这里有密码

proc checkPrime {no} { 
    set i 1 
    set count 0 
    while {$i < $no} { 
        if {{$no%$i} eq 0} {
            incr count 
        } 
        if {$count eq 2} { 
            puts "the number is prime number" 
            return 
        }
        incr i 
    } 
} 
proc checkPrime{no}{
第一组1
设置计数0
而{$i<$no}{
如果{{$no%$i}eq 0}{
递增计数
} 
如果{$count eq 2}{
把“数字是质数”
返回
}
增量i
} 
} 
我想把整个过程放在一个注释中,我不想在每一行前面都加上

在Tcl中是否有可能注释多行,就像Java中使用
/**/


我还希望将部分文本放入一条注释中

使用以下内容:

if { 0 } {
    a section
    of
    "commented" code
}

除了惯用的
if{0}..
(大多数tcl程序员都认识到这一点)之外,您还可以使用任何其他构造,并将需要注释的内容填入大括号引号中。这里阻止执行的真正机制是大括号引号内的内容不会被替换

这里有一些我最喜欢的。我喜欢它们,因为它们是自我记录的:

set COMMENTED_OUT {

    commented out stuff

}

我倾向于选择
proc
,因为注释掉的文本块实际上是一块代码


请注意,tcl在第一次执行之前不会编译程序体,因此使用
proc
进行注释与
set
if{0}…

一样便宜。代码中有几个错误:使用
eq
表示字符串相等,使用
=
表示数字相等
如果{$no%$i}eq 0}
应该是
如果{($no%$i)==0}
另一个检查数字是否为素数的实现是在rosettacode.org上:很清楚,Tcl根本不解析主体,如果它发现它永远无法执行(除了检查花括号平衡)。需要指出的是,如果要阻止的代码行具有不平衡的大括号,“如果0”技巧将不起作用。此答案需要调整,因为该问题很久以前已使用请求的信息(代码块,不想使用
)进行了更新。我试过了,但是(不幸的)被拒绝了。当然,如果你评论的东西有缺陷并且有不平衡的大括号,这就行不通了。
proc COMMENTED_OUT {} {

    commented out stuff...

}