从今天开始准备写一系列关于erlang 数据结构的文章。
今天是proplists::
一种key-value 数据结构。
一种元素为{key, Value}| term() 的lists(定义极其宽松)。
或者可以说proplists定义了一组关于lists的操作。 所以最好从他的函数来看这个数据机构,而不是定义。
1. 函数
1> L = [{1, [a,b,c]}, {1, [[d,e,f]]}, {1, g}, {1.0, h}].
[{1,[a,b,c]},{1,[[d,e,f]]},{1,g},{1.0,h}]
1.1 append_values(Key, List): 将Key对应的Value 中的元素组成一个lists返回
2> proplists:append_values(1, L).
[a,b,c,[d,e,f],g]
note: 在L中 [d, e, f] 在返回返回的时候依然为[d,e,f], 也就是说, 只是将value中的元素一个个的添加在一个列表之中, 不是flatten的。
1.2 get_all_values(Key, List): 将key对用的Value 组成一个lists返回
3> proplists:get_all_values(1, L).
[[a,b,c],[[d,e,f]],g]
note: 注意其于append_values的区别。