3

我有以下代码:

set arr1(a1) t1
set arr2(a2) t2
set l1 {}
lappend l1 arr1
lappend l1 arr2

set arr3(a3) $l1

foreach names [array names arr3] {
    set value $arr3($names)
    puts "names = $names, value = $value"
    foreach ar $value {
      if {[array exists $ar]} {
        puts "$ar is an array"
        foreach {key val} [array get $ar] {
          set d1 $ar($key)
          puts "ar key = $key value = $val "
        }
      }
    }
  }

但是当我运行 tcl 脚本时,它对于 "set d1 $ar($key)" 行失败了。错误消息是 'can't read "ar(a1)": variable is not array' 。您能否建议导致错误的原因以及如何解决该错误。

4

1 回答 1

4
于 2012-07-16T09:34:59.657 回答