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


Elixir Enum.split_with用法及代码示例


Elixir语言中 Enum.split_with 相关用法介绍如下。

用法:

split_with(enumerable, fun)
(从 1.4.0 开始)
@spec split_with(t(), (element() -> as_boolean(term()))) :: {list(), list()}

根据给定的函数 funenumerable 拆分为两个列表。

通过调用 fun 将给定的 enumerable 拆分为两个列表,并将 enumerable 中的每个元素作为其唯一参数。返回一个元组,其中第一个列表包含 enumerable 中应用 fun 返回真值的所有元素,第二个列表包含应用 fun 返回虚假值的所有元素(falsenil)。

两个返回列表中的元素与它们在原始枚举中的相对顺序相同(如果这样的枚举是有序的,就像一个列表)。请参阅下面的示例。

例子

iex> Enum.split_with([5, 4, 3, 2, 1, 0], fn x -> rem(x, 2) == 0 end)
{[4, 2, 0], [5, 3, 1]}

iex> Enum.split_with(%{a: 1, b: -2, c: 1, d: -3}, fn {_k, v} -> v < 0 end)
{[b: -2, d: -3], [a: 1, c: 1]}

iex> Enum.split_with(%{a: 1, b: -2, c: 1, d: -3}, fn {_k, v} -> v > 50 end)
{[], [a: 1, b: -2, c: 1, d: -3]}

iex> Enum.split_with(%{}, fn {_k, v} -> v > 50 end)
{[], []}

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Enum.split_with(enumerable, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。