注目は
to_listとsparse_to_orddictの違い
と
to_orddictとsparse_to_orddictの違い
■to_orddict(Array::array()) -> [{Index::integer(), Value::term()}]
arrayから{Index,Value}型のオーダーリストへ変換する。
■to_list(Array::array()) -> list()
arrayからリストへ変換する。
■sparse_to_orddict(Array::array()) -> [{Index::integer(), Value::term()}]
arrayから{Index,Value}型のオーダーリストへ変換する。ただし、初期値はスキップする。
■sparse_to_list(Array::array()) -> list()
arrayからリストへ変換する。ただし、初期値はスキップする。
【実行例】
Erlang R14B01 (erts-5.8.2) [smp:2:2] [rq:2] [async-threads:0]
Eshell V5.8.2 (abort with ^G)
1> L1 = [3,2,6,7].
[3,2,6,7]
2> A0 = array:from_list(L1).
{array,4,10,undefined,
{3,2,6,7,undefined,undefined,undefined,undefined,undefined,
undefined}}
4> A1 = array:set(5,5,A0).
{array,6,10,undefined,
{3,2,6,7,undefined,5,undefined,undefined,undefined,
undefined}}
8> A3 =
8>
8> array:set(9,0,A1).
{array,10,10,undefined,
{3,2,6,7,undefined,5,undefined,undefined,undefined,0}}
11> array:sparse_to_list(A3).
[3,2,6,7,5,0]
12> array:sparse_to_list(A1).
[3,2,6,7,5]
13> array:sparse_to_orddict(A3).
[{0,3},{1,2},{2,6},{3,7},{5,5},{9,0}]
14> array:sparse_to_list(A2).
[3,2,6,7]
15> array:to_list(A3).
[3,2,6,7,undefined,5,undefined,undefined,undefined,0]
16> array:to_orddict(A3).
[{0,3},
{1,2},
{2,6},
{3,7},
{4,undefined},
{5,5},
{6,undefined},
{7,undefined},
{8,undefined},
{9,0}]