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 Stream.uniq用法及代碼示例
- Elixir Stream.uniq_by用法及代碼示例
- Elixir Stream.drop_while用法及代碼示例
- Elixir Stream.map_every用法及代碼示例
- Elixir Stream.iterate用法及代碼示例
- Elixir Stream.dedup_by用法及代碼示例
- Elixir Stream.interval用法及代碼示例
- Elixir Stream.zip用法及代碼示例
- Elixir Stream.chunk_every用法及代碼示例
- Elixir Stream.chunk_while用法及代碼示例
- Elixir Stream.reject用法及代碼示例
- Elixir Stream.chunk_by用法及代碼示例
- Elixir Stream.dedup用法及代碼示例
- Elixir Stream.take_every用法及代碼示例
- Elixir Stream.take用法及代碼示例
- Elixir Stream.drop用法及代碼示例
- Elixir Stream.zip_with用法及代碼示例
- Elixir Stream.transform用法及代碼示例
- Elixir Stream.with_index用法及代碼示例
- Elixir Stream.flat_map用法及代碼示例
- Elixir Stream.repeatedly用法及代碼示例
- Elixir Stream.take_while用法及代碼示例
- Elixir Stream.concat用法及代碼示例
- Elixir Stream.intersperse用法及代碼示例
- Elixir Stream.filter用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Stream.unfold(next_acc, next_fun)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。