25 lines
No EOL
583 B
Text
25 lines
No EOL
583 B
Text
-- insert a pair into a map
|
|
map_insert(assoc, pair) -> pair :: assoc.
|
|
|
|
-- lookup by key
|
|
map_lookup([], _) -> ("nothing",).
|
|
map_lookup((k,v)::xs, key) ->
|
|
if k == key then ("just", v)
|
|
else map_lookup(xs, key).
|
|
|
|
-- remove a key from a map
|
|
map_remove([], key) -> [].
|
|
map_remove((k,v)::xs, key) ->
|
|
if k == key then xs
|
|
else (k,v) :: map_remove(xs, key).
|
|
|
|
m = [].
|
|
m = map_insert(m, ("hi", "there")).
|
|
m = map_insert(m, ("k", "v")).
|
|
m = map_insert(m, ("ready", "go")).
|
|
|
|
print(m).
|
|
print(map_remove(m, "k")).
|
|
("just", x) = map_lookup(m, "hi").
|
|
("nothing",) = map_lookup(m, "foo").
|
|
print(x). |