首页 > 解决方案 > 期望脚本 - For 循环 - 如何使用超过 1 个变量

问题描述

如何在期望脚本“for 循环”中使用超过 1 个变量?请帮忙。提前致谢。

有一个变量:

for {set i 1} {$i < 256} {incr i 1} {

}

2 或 3 个变量,比如 init 、条件、ijk的增量如何?逗号,分号不起作用。

谢谢,克里希纳

标签: for-loopexpect

解决方案


请记住,expect 是 Tcl 的扩展。Tcl 的文档是可用的。

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"
}

输出

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"
}

推荐阅读