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


Elixir Stream.scan用法及代码示例

Elixir语言中 Stream.scan 相关用法介绍如下。

用法一

scan(enum, fun)
@spec scan(Enumerable.t(), (element(), acc() -> any())) :: Enumerable.t()

创建一个流,将给定函数应用于每个元素,发出结果并使用与累加器相同的结果进行下一次计算。使用可枚举中的第一个元素作为起始值。

例子

iex> stream = Stream.scan(1..5, &(&1 + &2))
iex> Enum.to_list(stream)
[1, 3, 6, 10, 15]

用法二

scan(enum, acc, fun)
@spec scan(Enumerable.t(), acc(), (element(), acc() -> any())) :: Enumerable.t()

创建一个流,将给定函数应用于每个元素,发出结果并使用与累加器相同的结果进行下一次计算。使用给定的acc 作为起始值。

例子

iex> stream = Stream.scan(1..5, 0, &(&1 + &2))
iex> Enum.to_list(stream)
[1, 3, 6, 10, 15]

相关用法


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