当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang enumerate(List1)用法及代码示例


enumerate(List1) -> List2
OTP 25.0
enumerate(Index, List1) -> List2
OTP 25.0
enumerate(Index, Step, List1) -> List2
OTP 26.0
类型:
List1 = [T]
List2 = [{Index, T}]
Index = Step = integer()
T = term()

返回 List1,其中每个元素 H 替换为 {I, H} 形式的元组,其中 IHList1 中的位置。枚举从Index 开始,并在每个步骤中增加Step

也就是说,enumerate/3 的行为就好像它已被定义如下:

enumerate(I, S, List) ->
  {List1, _ } = lists:mapfoldl(fun(T, Acc) -> {{Acc, T}, Acc+S} end, I, List),
  List1.

IndexStep 的默认值都是 1

例子:

> lists:enumerate([a,b,c]).
[{1,a},{2,b},{3,c}]
> lists:enumerate(10, [a,b,c]).
[{10,a},{11,b},{12,c}]
> lists:enumerate(0, -2, [a,b,c]).
[{0,a},{-2,b},{-4,c}]

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 enumerate(List1) -> List2。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。