|
|
- -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).
-
|