home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tk42r2x.zip / TclTk / lib / tcl7.6 / parray.tcl < prev    next >
Text File  |  1999-07-27  |  858b  |  30 lines

  1. # parray:
  2. # Print the contents of a global array on stdout.
  3. #
  4. # SCCS: @(#) parray.tcl 1.9 96/02/16 08:56:44
  5. #
  6. # Copyright (c) 1991-1993 The Regents of the University of California.
  7. # Copyright (c) 1994 Sun Microsystems, Inc.
  8. #
  9. # See the file "license.terms" for information on usage and redistribution
  10. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  11. #
  12.  
  13. proc parray {a {pattern *}} {
  14.     upvar 1 $a array
  15.     if ![array exists array] {
  16.     error "\"$a\" isn't an array"
  17.     }
  18.     set maxl 0
  19.     foreach name [lsort [array names array $pattern]] {
  20.     if {[string length $name] > $maxl} {
  21.         set maxl [string length $name]
  22.     }
  23.     }
  24.     set maxl [expr {$maxl + [string length $a] + 2}]
  25.     foreach name [lsort [array names array $pattern]] {
  26.     set nameString [format %s(%s) $a $name]
  27.     puts stdout [format "%-*s = %s" $maxl $nameString $array($name)]
  28.     }
  29. }
  30.