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


Elixir Stream.zip用法及代碼示例

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

用法一

zip(enumerables)
(從 1.4.0 開始)
@spec zip(enumerables) :: Enumerable.t()
when enumerables: [Enumerable.t()] | Enumerable.t()

將有限的可枚舉集合中的相應元素壓縮到一個元組流中。

隻要給定集合中的任何可枚舉完成,壓縮就會完成。

例子

iex> concat = Stream.concat(1..3, 4..6)
iex> cycle = Stream.cycle(["foo", "bar", "baz"])
iex> Stream.zip([concat, [:a, :b, :c], cycle]) |> Enum.to_list()
[{1, :a, "foo"}, {2, :b, "bar"}, {3, :c, "baz"}]

用法二

zip(enumerable1, enumerable2)
@spec zip(Enumerable.t(), Enumerable.t()) :: Enumerable.t()

懶惰地把兩個可枚舉的東西壓縮在一起。

隻要任一可枚舉完成,壓縮就會完成。

例子

iex> concat = Stream.concat(1..3, 4..6)
iex> cycle = Stream.cycle([:a, :b, :c])
iex> Stream.zip(concat, cycle) |> Enum.to_list()
[{1, :a}, {2, :b}, {3, :c}, {4, :a}, {5, :b}, {6, :c}]

相關用法


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