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


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