Elixir语言中 Enumerable.reduce
相关用法介绍如下。
用法:
reduce(enumerable, acc, fun)
@spec reduce(t(), acc(), reducer()) :: result()
将enumerable
缩减为一个元素。
中的大部分操作都是以reduce的形式实现的。此函数应将给定的 Enum
函数应用于 reducer/0
enumerable
中的每个元素,并按返回的累加器的预期进行。
有关详细信息,请参阅
和 result/0
类型的文档。acc/0
例子
例如,这里是列表的reduce
的实现:
def reduce(_list, {:halt, acc}, _fun), do: {:halted, acc}
def reduce(list, {:suspend, acc}, fun), do: {:suspended, acc, &reduce(list, &1, fun)}
def reduce([], {:cont, acc}, _fun), do: {:done, acc}
def reduce([head | tail], {:cont, acc}, fun), do: reduce(tail, fun.(head, acc), fun)
相关用法
- Elixir Enumerable用法及代码示例
- Elixir Enum.unzip用法及代码示例
- Elixir Enum.min_max用法及代码示例
- Elixir Enum.reduce_while用法及代码示例
- Elixir Enum.at用法及代码示例
- Elixir Enum.split_with用法及代码示例
- Elixir Enum用法及代码示例
- Elixir Enum.dedup用法及代码示例
- Elixir Enum.sum用法及代码示例
- Elixir Enum.zip用法及代码示例
- Elixir Enum.find_value用法及代码示例
- Elixir Enum.product用法及代码示例
- Elixir Enum.map_join用法及代码示例
- Elixir Enum.zip_with用法及代码示例
- Elixir Enum.intersperse用法及代码示例
- Elixir Enum.flat_map用法及代码示例
- Elixir Enum.count用法及代码示例
- Elixir Enum.fetch用法及代码示例
- Elixir Enum.frequencies用法及代码示例
- Elixir Enum.drop用法及代码示例
- Elixir Enum.slice用法及代码示例
- Elixir Enum.max_by用法及代码示例
- Elixir Enum.zip_reduce用法及代码示例
- Elixir Enum.random用法及代码示例
- Elixir Enum.empty?用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Enumerable.reduce(enumerable, acc, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。