lists:zipwith/3
根据一个合成函数规则把 2 个列表合为一个列表
用法:
zipwith(Combine, List1, List2) -> List3
内部实现:
-spec zipwith(Combine, List1, List2) -> List3 when
Combine :: fun((X, Y) -> T),
List1 :: [X],
List2 :: [Y],
List3 :: [T],
X :: term(),
Y :: term(),
T :: term().
zipwith(F, [X | Xs], [Y | Ys]) -> [F(X, Y) | zipwith(F, Xs, Ys)];
zipwith(F, [], []) when is_function(F, 2) -> [].
根据一个合成函数 Combine 的规则把 2 个列表合为一个列表
lists:zipwith(fun(X, Y) -> X + Y end, [1, 2, 3], [4, 5, 6]).