add association list example
This commit is contained in:
parent
37f2322783
commit
44772d7e33
|
@ -0,0 +1,25 @@
|
||||||
|
-- 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).
|
Loading…
Reference in New Issue