HashTable enum

Enumerates all entries using an input function with the possibility to interrupt.

Arguments

table
is the HashTable to enumerate.
body
is the callable to be called for each entry. It has the following stack notation:

( { key value } -- condition )

Each table entry will be provided as input

{ key value }
structure to the callable. When the output
condition
is FALSE, enumeration interrupts.

Return values

None

Complexity

O(size)

Example

"sl/hashTable" useFile a: HashTable; 0 "ZERO" a.insert 34 "element" a.insert -34 "element" a.insert 35 "element" a.insert 32 { a:0; b:1; } a.insert a [print LF print TRUE] enum
Output:
{ key: 0; value: "ZERO"; } { key: 32; value: { a: 0; b: 1; }; } { key: 34; value: "element"; } { key: -34; value: "element"; } { key: 35; value: "element"; }