dict(3)

MODULE
dict - Key-Value Dictionary

DESCRIPTION

Dict implements a Key - Value dictionary.

EXPORTS

append(Key, Value, Dict1) -> Dict2

    Types
        Key = Value = term()
        Dict1 = Dict2 = dictionary()

    This function appends a new Value to the current list of values associated with Key. An exception is generated if the initial value associated with Key is not a list of values.

append_list(Key, ValList, Dict1) -> Dict2

    Types
        ValList = [Value]
        Key = Value = [term()]
        Dict1 = Dict2 = dictionary()

    This function appends a list of values ValList to the current list of values associated with Key. An exception is generated if the initial value associated with Key is not a list of values.

dict_to_list(Dict) -> List

    Types
        Dict = dictionary()
        List = [{Key, Value}]

    This function converts the dictionary to a list representation.

erase(Key, Dict1) -> Dict2

    Types
        Key = term()
        Dict1 = Dict2 = dictionary()

    This function erases all items with a given key from a dictionary.

fetch(Key, Dict) -> Value

    Types
        Key = Value = term()
        Dict = dictionary()

    This function returns the value associated with Key in the dictionary Dict. fetch assumes that the Key is present in the dictionary and an exception is generated if Key is not in the dictionary.

fetch_keys(Dict) -> Keys

    Types
        Dict = dictionary()
        Keys = [term()]

    This function returns a list of all keys in the dictionary.

find(Key, Dict) -> Result

    Types
        Key = term()
        Dict = dictionary()
        Result = {ok, Value} | error

    This function searches for a key in a dictionary. Returns {ok, Value} where Value is the value associated with Key, or error if the key is not present in the dictionary.

is_key(Key, Dict) -> bool()

    Types
        Key = term()
        Dict = dictionary()

    This function tests if Key is contained in the dictionary Dict

new() -> dictionary()

    This function creates a new dictionary.

store(Key, Value, Dict1) -> Dict2

    Types
        Key = Value = term()
        Dict1 = Dict2 = dictionary()

    This function stores a Key - Value pair in a dictionary. If the Key already exists in Dict1, the associated value is replaced by Value.

Notes

The functions append and append_list are included so we can store keyed values in a list accumulator. For example:
> D0 = dict:new(),
  D1 = dict:store(files, [], D0),
  D2 = dict:append(files, f1, D1),
  D3 = dict:append(files, f2, D2),
  D4 = dict:append(files, f3, D3),
  dict:fetch(files, D4).
[f1,f2,f3]

This saves the trouble of first fetching a keyed value, appending a new value to the list of stored values, and storing the result.

The function fetch should be used if the key is known to be in the dictionary, otherwise find.

AUTHOR
Robert Virding - rv@erix.ericsson.se