我有以下代码:
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' 。您能否建议导致错误的原因以及如何解决该错误。