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


 
;; Create an associative array (hash-table) whose keys are strings:
(define table (hash-table 'string=?
  '("hello" . 0) '("world" . 22) '("!" . 999)))
 
;; Iterate over the table, passing the key and the value of each entry
;; as arguments to a function:
(hash-table-for-each
  table
  ;; Create by "partial application" a function that accepts 2 arguments,
  ;; the key and the value:
  (pa$ format #t "Key = ~a, Value = ~a\n"))