Tcl 如何在if条件下增加变量 对于{set i 0}{$i

Tcl 如何在if条件下增加变量 对于{set i 0}{$i,tcl,Tcl,我在if条件下出错。是否可以在if条件下增加i。如果是,如何进行?您需要使用expr进行Tcl中几乎所有的算术计算: for {set i 0} {$i < 5} {incr i} { if {$node($i) < $node($i++)} { puts "first $i" } } 对于{set i 0}{$i

我在
if
条件下出错。是否可以在if条件下增加
i
。如果是,如何进行?

您需要使用
expr
进行Tcl中几乎所有的算术计算:

for {set i 0} {$i < 5} {incr i} {
    if {$node($i) < $node($i++)} {
        puts "first $i"
    }
}
对于{set i 0}{$i<5}{incr i}{
如果{$node($i)<$node([expr{$i+1}])}{
“第一个$i”
}
}
请注意,
[expr{$i+1}]
不会更改
$i
的值,而是返回
$i
和1的总和


[incr i]
但是,通过在
$i
中添加1来更改其值(但我认为这不是您想要的)。

请编辑问题properly@Jerry:您确定没有错误地将解决方案(
expr
)编辑到问题中吗?我也不清楚为什么你会将建议的编辑标记为没有帮助。看看我的错误。我不小心这样做了。
for {set i 0} {$i < 5} {incr i} {
    if {$node($i) < $node([expr {$i+1}])} {
        puts "first $i"
    }
}