if { $x in {1 2 3} } then { puts "the number is $x"; }
感觉tcl的if then 用法好奇怪啊,这里没有then 是不是也可以执行?
还有 第二行
$x in {1 2 3}
tcl中有这种用法?我发现在我的机器上执行不了这个脚本。。。
没有`then`也可以执行。因为if命令的格式是
if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... ?else? ?bodyN?
注意上面的格式说明里,`then`和`else`都是可选的。
应该是从Tcl 8.5开始,有了`in`这个逻辑操作符。相当于
[lsearch -exact $value $list] >= 0