TIP #421: A Command for Iterating Over Arrays

Title:A Command for Iterating Over Arrays
Version:$Revision: 1.1 $
Authors: Karl Lehenbauer <karllehenbauer at gmail dot com>
Donal K. Fellows <dkf at users dot sf dot net>
Created:Wednesday, 28 November 2012


This TIP proposes an efficient mechanism for iterating over the contents of a large array.


Tcl currently provides three main mechanisms for iterating over the contents of an array, but none are quite perfect when dealing with a large array.

The authors propose that there be a new subcommand of array which allows for efficient iteration over an array's elements.

Proposed Change

There should be a new command, array foreach, that has this syntax:

array foreach arrayName {keyVar valueVar} body

This will iterate internally over the elements of the array called arrayName in array-iteration order (i.e., the same as that used by the other array subcommands), setting the variable keyVar to the name of the element and the variable valueVar to the content of the element before evaluating the script body. The result will be the empty string (excepting errors, return, etc.) and any contained break and continue will have their normal interpretation as loop control operations.


Not yet...


This document has been placed in the public domain.

Powered by Tcl[Index] [History] [HTML Format] [Source Format] [LaTeX Format] [Text Format] [XML Format] [*roff Format (experimental)] [RTF Format (experimental)]

TIP AutoGenerator - written by Donal K. Fellows