25 lines
505 B
Plaintext
25 lines
505 B
Plaintext
* Iterate over key-value pairs of a map
|
|
|
|
map = new('map 1:one 2:two 3:three')
|
|
|
|
visit(domain(map),'expr to evaluate for each member')
|
|
|
|
visit(range(map),'expr to evaluate for each member')
|
|
|
|
next
|
|
this = next(map) :f(done)
|
|
out(show(this) ':' show(get(map,this)) :next)
|
|
done
|
|
|
|
loop(d = domain(map)
|
|
|
|
next
|
|
out('next domain entry',next(d)) :s(next)
|
|
done
|
|
|
|
loop(d = range(map)
|
|
|
|
next
|
|
out('next domain entry',next(d)) :s(next)
|
|
done
|