Erlang中文手册(Erldoc.com)  »  lists  »  flatlength/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

lists:flatlength/1

获取一个多层嵌套列表的长度

用法:

flatlength(DeepList) -> int()

内部实现:

 %% flatlength(List)
%%  Calculate the length of a list of lists.

-spec flatlength(DeepList) -> non_neg_integer() when
      DeepList :: [term() | DeepList].

flatlength(List) ->
    flatlength(List, 0).

flatlength([H|T], L) when is_list(H) ->
    flatlength(H, flatlength(T, L));
flatlength([_|T], L) ->
    flatlength(T, L + 1);
flatlength([], L) -> L.

获取一个多层嵌套列表的长度,即该嵌套列表里的非列表元素的个数,等同于调用 length(flatten(DeepList))

lists:flatlength([[1], [2], 3, [4, [5, 6, [7, 8]]]]).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9