记录一些Tcl中array的操作。
proc array_diff {aa ab} { set size_a [array size $aa] set size_b [array size $ab] if {$size_a != $size_b} { log info "array size diff: $size_a != $size_b" return 0 } foreach {k v} [array get $aa *] { set pairs [array get $ab $k] if {[llength $pairs]==0} { log info "array key diff: $aa\($k\)" return 0 } elseif {[lindex $pairs 1] != $v} { log info "array value diff for key ($k): $v != [lindex $pairs 1]" return 0 } } return 1 }