kart
The kart module provides hashmap (dictionary) operations.
bruk kartHashmaps use string keys. Operations return new maps rather than mutating the original.
Functions
kart.lengd(map)
Returns the number of key-value pairs.
låst m er {"a": 1, "b": 2}
terminal.skriv(kart.lengd(m)) // 2kart.hent(map, key)
Returns the value for key. Throws KeyNotFound if the key doesn't exist.
låst person er {"name": "Kari", "age": 30}
terminal.skriv(kart.hent(person, "name")) // KariUse kart.inneheld to check before accessing:
viss (kart.inneheld(person, "email")) gjer {
terminal.skriv(kart.hent(person, "email"))
}kart.sett(map, key, value)
Returns a new map with key set to value. Creates the key if it doesn't exist; overwrites it if it does.
låst original er {"x": 1}
låst updated er kart.sett(original, "y", 2)
terminal.skriv(updated) // {"x": 1, "y": 2}kart.fjern(map, key)
Returns a new map with key removed.
låst m er {"a": 1, "b": 2, "c": 3}
låst m2 er kart.fjern(m, "b")
terminal.skriv(m2) // {"a": 1, "c": 3}kart.inneheld(map, key)
Returns sant if key exists in the map.
låst m er {"foo": "bar"}
terminal.skriv(kart.inneheld(m, "foo")) // sant
terminal.skriv(kart.inneheld(m, "baz")) // usantkart.nøklar(map)
Returns all keys as a list (order not guaranteed).
låst keys er kart.nøklar({"a": 1, "b": 2})
terminal.skriv(keys) // ["a", "b"]kart.verdiar(map)
Returns all values as a list (order matches kart.nøklar).
låst vals er kart.verdiar({"a": 1, "b": 2})
terminal.skriv(vals) // [1, 2]kart.gjerOm(map, fn) — map values
Returns a new map where each value has been transformed by fn. The function receives key and value:
låst prices er {"apple": 10, "bread": 25}
låst discounted er kart.gjerOm(prices) { key, val -> val - 2 }
terminal.skriv(discounted) // {"apple": 8, "bread": 23}kart.filtrer(map, predicate) — filter entries
Returns a new map containing only the entries for which predicate returns sant:
låst scores er {"alice": 90, "bob": 45, "carol": 78}
låst passing er kart.filtrer(scores) { key, val -> val erStørreEnn 59 }
terminal.skriv(passing) // {"alice": 90, "carol": 78}