Mercurial > repos > rliterman > csp2
annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/tcl8.6/parray.tcl @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
rev | line source |
---|---|
jpayne@69 | 1 # parray: |
jpayne@69 | 2 # Print the contents of a global array on stdout. |
jpayne@69 | 3 # |
jpayne@69 | 4 # Copyright (c) 1991-1993 The Regents of the University of California. |
jpayne@69 | 5 # Copyright (c) 1994 Sun Microsystems, Inc. |
jpayne@69 | 6 # |
jpayne@69 | 7 # See the file "license.terms" for information on usage and redistribution |
jpayne@69 | 8 # of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
jpayne@69 | 9 # |
jpayne@69 | 10 |
jpayne@69 | 11 proc parray {a {pattern *}} { |
jpayne@69 | 12 upvar 1 $a array |
jpayne@69 | 13 if {![array exists array]} { |
jpayne@69 | 14 return -code error "\"$a\" isn't an array" |
jpayne@69 | 15 } |
jpayne@69 | 16 set maxl 0 |
jpayne@69 | 17 set names [lsort [array names array $pattern]] |
jpayne@69 | 18 foreach name $names { |
jpayne@69 | 19 if {[string length $name] > $maxl} { |
jpayne@69 | 20 set maxl [string length $name] |
jpayne@69 | 21 } |
jpayne@69 | 22 } |
jpayne@69 | 23 set maxl [expr {$maxl + [string length $a] + 2}] |
jpayne@69 | 24 foreach name $names { |
jpayne@69 | 25 set nameString [format %s(%s) $a $name] |
jpayne@69 | 26 puts stdout [format "%-*s = %s" $maxl $nameString $array($name)] |
jpayne@69 | 27 } |
jpayne@69 | 28 } |