當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。