-module(utArray). %% 基于tuple封装的数组 %% 基于性能测试结果和出于性能考虑数组大小不要超过128 -import(erlang, [make_tuple/2, make_tuple/3]). -export([ new/1 , new/2 , new/3 , set/3 , get/2 , size/1 ]). new(Size) -> erlang:make_tuple(Size, undefined). new(Size, InitialValue) -> erlang:make_tuple(Size, InitialValue). new(Size, DefaultValue, InitList) -> erlang:make_tuple(Size, DefaultValue, InitList). set(Idx, Value, UtArray) -> erlang:setelement(Idx, UtArray, Value). get(Idx, UtArray) -> erlang:element(Idx, UtArray). size(UtArray) -> erlang:tuple_size(UtArray).