# # arrayprocs.tcl -- # # Extended Tcl array procedures. # #------------------------------------------------------------------------------ # Copyright 1992-1999 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: arrayprocs.tcl,v 1.2 2002/04/02 03:00:14 hobbs Exp $ #------------------------------------------------------------------------------ # #@package: TclX-ArrayProcedures for_array_keys proc for_array_keys {varName arrayName codeFragment} { upvar $varName enumVar $arrayName enumArray if {![array exists enumArray]} { return -code error "\"$arrayName\" isn't an array" } set code 0 set result {} set searchId [array startsearch enumArray] while {[array anymore enumArray $searchId]} { set enumVar [array nextelement enumArray $searchId] set code [catch {uplevel 1 $codeFragment} result] if {$code != 0 && $code != 4} break } array donesearch enumArray $searchId if {$code == 0 || $code == 3 || $code == 4} { return $result } if {$code == 1} { global errorCode errorInfo return -code $code -errorcode $errorCode -errorinfo $errorInfo $result } return -code $code $result }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
arrayprocs.tcl | File | 1.6 KB | 0644 |
|
autoload.tcl | File | 2.22 KB | 0644 |
|
buildhelp.tcl | File | 15.61 KB | 0644 |
|
compat.tcl | File | 9.8 KB | 0644 |
|
convlib.tcl | File | 3.86 KB | 0644 |
|
edprocs.tcl | File | 1.95 KB | 0644 |
|
events.tcl | File | 1.03 KB | 0644 |
|
fmath.tcl | File | 2.19 KB | 0644 |
|
forfile.tcl | File | 1.4 KB | 0644 |
|
globrecur.tcl | File | 3.11 KB | 0644 |
|
help.tcl | File | 10.36 KB | 0644 |
|
libtclx8.4.so | File | 155.52 KB | 0755 |
|
pkgIndex.tcl | File | 77 B | 0644 |
|
profrep.tcl | File | 5.1 KB | 0644 |
|
pushd.tcl | File | 1.83 KB | 0644 |
|
setfuncs.tcl | File | 2.92 KB | 0644 |
|
showproc.tcl | File | 1.46 KB | 0644 |
|
stringfile.tcl | File | 1.38 KB | 0644 |
|
tcllib.tcl | File | 4.32 KB | 0644 |
|
tclx.tcl | File | 2.05 KB | 0644 |
|