當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。