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


erlang splitwith(Pred, List)用法及代码示例


splitwith(Pred, List) -> {List1, List2}
类型:
Pred = fun((T) -> boolean())
List = List1 = List2 = [T]
T = term()

根据 PredList 划分为两个列表。 splitwith/2 的行为就像定义如下:

splitwith(Pred, List) ->
    {takewhile(Pred, List), dropwhile(Pred, List)}.

例子:

> lists:splitwith(fun(A) -> A rem 2 == 1 end, [1,2,3,4,5,6,7]).
{[1],[2,3,4,5,6,7]}
> lists:splitwith(fun(A) -> is_atom(A) end, [a,b,1,c,d,2,3,4,e]).
{[a,b],[1,c,d,2,3,4,e]}

Pred函数必须返回一个布尔值。有关对列表进行分区的不同方法,请参阅partition/2.

相关用法


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