~ubuntu-branches/ubuntu/jaunty/electric/jaunty

« back to all changes in this revision

Viewing changes to lib/tcl/parray.tcl

  • Committer: Bazaar Package Importer
  • Author(s): Onkar Shinde
  • Date: 2009-01-08 02:05:08 UTC
  • mfrom: (1.3.1 upstream) (3.1.3 sid)
  • mto: (3.1.4 sid)
  • mto: This revision was merged to the branch mainline in revision 11.
  • Revision ID: james.westby@ubuntu.com-20090108020508-3e7e6241i7bkit2l
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
}