Tcl中array的一些操作

风行水上 @ 2011-12-05 19:20:42
标签:

    记录一些Tcl中array的操作。

    比较两个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
    }
    
    标签:

      分享到:
      comments powered by Disqus

      27/31ms