| Server IP : 199.250.200.62 / Your IP : 216.73.216.68 Web Server : Apache System : Linux vps37394.inmotionhosting.com 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : jasonp18 ( 1000) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib64/tcl8.5/tclx8.4/ |
Upload File : |
#
# 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
}