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 }