erlang各种有用的函数包括一些有用nif封装,还有一些性能测试case。
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
641 B

5 년 전
  1. -module(utArray).
  2. %% 基于tuple封装的数组
  3. %% 基于性能测试结果和出于性能考虑数组大小不要超过128
  4. -import(erlang, [make_tuple/2, make_tuple/3]).
  5. -export([
  6. new/1
  7. , new/2
  8. , new/3
  9. , set/3
  10. , get/2
  11. , size/1
  12. ]).
  13. new(Size) ->
  14. erlang:make_tuple(Size, undefined).
  15. new(Size, InitialValue) ->
  16. erlang:make_tuple(Size, InitialValue).
  17. new(Size, DefaultValue, InitList) ->
  18. erlang:make_tuple(Size, DefaultValue, InitList).
  19. set(Idx, Value, UtArray) ->
  20. erlang:setelement(Idx, UtArray, Value).
  21. get(Idx, UtArray) ->
  22. erlang:element(Idx, UtArray).
  23. size(UtArray) ->
  24. erlang:tuple_size(UtArray).