Elixir語言中 Enum.flat_map_reduce
相關用法介紹如下。
用法:
flat_map_reduce(enumerable, acc, fun)
@spec flat_map_reduce(t(), acc(), fun) :: {[any()], acc()}
when fun: (element(), acc() -> {t(), acc()} | {:halt, acc()})
映射和減少 enumerable
,使給定的結果變平(隻有一層深)。
它需要一個累加器和一個接收每個可枚舉元素的函數,並且必須返回一個元組,該元組包含一個新的可枚舉(通常是一個列表),新的累加器或一個以:halt
作為第一個元素,累加器作為第二個元素的元組。
例子
iex> enumerable = 1..100
iex> n = 3
iex> Enum.flat_map_reduce(enumerable, 0, fn x, acc ->
...> if acc < n, do: {[x], acc + 1}, else: {:halt, acc}
...> end)
{[1, 2, 3], 3}
iex> Enum.flat_map_reduce(1..5, 0, fn x, acc -> {[[x]], acc + x} end)
{[[1], [2], [3], [4], [5]], 15}
相關用法
- Elixir Enum.flat_map用法及代碼示例
- Elixir Enum.find_value用法及代碼示例
- Elixir Enum.fetch用法及代碼示例
- Elixir Enum.frequencies用法及代碼示例
- Elixir Enum.find用法及代碼示例
- Elixir Enum.find_index用法及代碼示例
- Elixir Enum.filter用法及代碼示例
- Elixir Enum.fetch!用法及代碼示例
- Elixir Enum.frequencies_by用法及代碼示例
- Elixir Enum.unzip用法及代碼示例
- Elixir Enum.min_max用法及代碼示例
- Elixir Enum.reduce_while用法及代碼示例
- Elixir Enum.at用法及代碼示例
- Elixir Enum.split_with用法及代碼示例
- Elixir Enum.dedup用法及代碼示例
- Elixir Enum.sum用法及代碼示例
- Elixir Enum.zip用法及代碼示例
- Elixir Enum.product用法及代碼示例
- Elixir Enum.map_join用法及代碼示例
- Elixir Enum.zip_with用法及代碼示例
- Elixir Enum.intersperse用法及代碼示例
- Elixir Enum.count用法及代碼示例
- Elixir Enum.drop用法及代碼示例
- Elixir Enum.slice用法及代碼示例
- Elixir Enum.max_by用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Enum.flat_map_reduce(enumerable, acc, fun)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。