3

我写了下面的代码并尝试执行它。但是我在执行 do { 时遇到了“无效的命令名“do”

代码:

#!/usr/bin/expect
set val 0;
set input 5;

do {
    puts "\nval = $val"
    set input [expr $input-1];
    set val [expr $val+1];
} while {input}

请让我知道以解决此问题。Expect脚本中是否存在do-while?

4

1 回答 1

5

最简洁的答案是不。

稍微长一点的答案是:

while true {
    puts "\nval = $val"
    incr val
    if {[incr input -1] == 0} break
}

完整的讨论可以在 Tcl wiki 上找到。

于 2012-05-04T14:05:20.180 回答