|
|
Micropolis Activity
#
# arrayprocs.tcl --
#
# Extended Tcl array procedures.
#
#------------------------------------------------------------------------------
# Copyright 1992 Karl Lehenbauer and Mark Diekhans.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies. Karl Lehenbauer and
# Mark Diekhans make no representations about the suitability of this
# software for any purpose. It is provided "as is" without express or
# implied warranty.
#------------------------------------------------------------------------------
# $Id: array.tcl,v 1.1.1.1 2020/03/11 09:08:51 root Exp $
#------------------------------------------------------------------------------
#
#@package: TclX-ArrayProcedures for_array_keys
proc for_array_keys {varName arrayName codeFragment} {
upvar $varName enumVar $arrayName enumArray
if ![info exists enumArray] {
error "\"$arrayName\" isn't an array"
}
set searchId [array startsearch enumArray]
while {[array anymore enumArray $searchId]} {
set enumVar [array nextelement enumArray $searchId]
uplevel $codeFragment
}
array donesearch enumArray $searchId
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.