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


define: #pairs -> ({'hello' -> 1. 'world' -> 2. '!' -> 3. 'another!' -> 3} as: Dictionary).
pairs keysAndValuesDo: [| :key :value |
  inform: '(k, v) = (' ; key printString ; ', ' ; value printString ; ')'
].
 
pairs keysDo: [| :key |
  inform: '(k, v) = (' ; key printString ; ', ' ; (pairs at: key) printString ; ')'
].
 
pairs do: [| :value |
  inform: 'value = ' ; value printString
].