问题描述
如何在Expect脚本“ for循环”中使用多个变量?请帮忙。 预先感谢。
具有一个变量:
for {set i 1} {$i < 256} {incr i 1} {
}
如何使用2或3个变量(例如init,condition, i , j , k 的增量)? 逗号,分号不起作用。
谢谢, 克里希纳
解决方法
请记住,期望是Tcl的扩展。 Documentation of Tcl可用。
for的语法是:
用于 开始测试下一个身体
“开始”和“下一个”均被评估为脚本。 “测试”是一个expr会话
您可以这样做:
for {set i 1; set j 10; set k "x"} {$i < 5 && $j > 0} {incr i; incr j -2; append k x} {
puts "$i\t$j\t$k"
}
输出
1 10 x
2 8 xx
3 6 xxx
4 4 xxxx
这等效于以下内容,因此请使用可读性最高的内容。
set i 1
set j 10
set k "x"
while {$i < 5 && $j > 0} {
puts "$i\t$j\t$k"
incr i
incr j -2
append k x
}
实际上,您也可以在for命令中自由使用换行符
for {
set i 1
set j 10
set k "x"
} {
$i < 5 && $j > 0
} {
incr i
incr j -2
append k x
} {
puts "$i\t$j\t$k"
}