0

This is the full script:

#!/usr/bin/expect

set a1 "aaa"
set a2 "bbb"
set a3 "ccc"

for {set b 1} {$b<4} {incr b} {
   send a$b
}

the output is:

 a1a2a3

what i wanted was the values for

$a1
$a2
$a3

how to fix ?

someone recommended "eval"

   eval send "a$b"

which does not seem to be working, outputs same thing as above.

4

1 に答える 1

0

配列が必要な場合があります。

array set myarr {
    a1 "aaa"
    a2 "bbb"
    a3 "ccc"
}

foreach {var value} [array get myarr] {
   puts "Color: $var Count: $value" 
}

このコードは私のためにこれを出力します:

Color: a3 Count: ccc
Color: a1 Count: aaa
Color: a2 Count: bbb

したがって、彼らは実際には注文を持っていません。

または、リストを探している可能性があります。

set mylist {"aaa" "bbb" "ccc"}
lappend mylist "ddd" 

foreach elem $mylist {
    puts $elem
}

これは正確に出力されます:

aaa
bbb
ccc
ddd

このページでは、そのようなことをかなり明確にする必要があります

于 2013-08-24T02:46:31.943 に答える