Show how to iterate over the key-value pairs of an associative array, and print each pair out.

Also show how to iterate just over the keys, or the values, if there is a separate way to do that in your language.



See also

 Array
 Associative array: Creation, Iteration
 Collections
 Compound data type
 Doubly-linked list: Definition, Element definition, Element insertion, List Traversal, Element Removal
 Linked list
 Queue: Definition, Usage
 Set
 Singly-linked list: Element definition, Element insertion, List Traversal, Element Removal
 Stack


$ include "seed7_05.s7i";
 
const type: dictType is hash [string] integer;
var dictType: myDict is dictType.value;
 
const proc: main is func
  local
    var string: stri is "";
    var integer: number is 0;
  begin
    myDict @:= ["hello"] 1;
    myDict @:= ["world"] 2;
    myDict @:= ["!"] 3;
 
    # iterating over key-value pairs:
    for number key stri range myDict do
      writeln("key = " <& number <& ", value = " <& stri);
    end for;
 
    # iterating over keys:
    for key stri range myDict do
      writeln("key = " <& stri);
    end for;
 
    # iterating over values:
    for number range myDict do
      writeln("value = " <& number);
    end for;
  end func;