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


Elixir Stream.unfold用法及代碼示例


Elixir語言中 Stream.unfold 相關用法介紹如下。

用法:

unfold(next_acc, next_fun)
@spec unfold(acc(), (acc() -> {element(), acc()} | nil)) :: Enumerable.t()

為給定的累加器發出一係列值。

通過使用前一個累加器調用next_fun 生成連續值,它必須返回一個包含當前值和下一個累加器的元組。如果枚舉返回 nil ,則枚舉完成。

例子

iex> Stream.unfold(5, fn
...>   0 -> nil
...>   n -> {n, n - 1}
...> end) |> Enum.to_list()
[5, 4, 3, 2, 1]

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Stream.unfold(next_acc, next_fun)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。