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


Elixir Stream.take用法及代码示例


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

用法:

take(enum, count)
@spec take(Enumerable.t(), integer()) :: Enumerable.t()

懒惰地从可枚举中获取下一个 count 元素并停止枚举。

如果给出一个负数 count,则将采用最后的 count 值。为此,将完全枚举集合,并在内存中保持最多 2 * count 元素。一旦到达集合的末尾,将执行最后的count 元素。因此,在无限集合上使用负数 count 将永远不会返回。

例子

iex> stream = Stream.take(1..100, 5)
iex> Enum.to_list(stream)
[1, 2, 3, 4, 5]

iex> stream = Stream.take(1..100, -5)
iex> Enum.to_list(stream)
[96, 97, 98, 99, 100]

iex> stream = Stream.cycle([1, 2, 3]) |> Stream.take(5)
iex> Enum.to_list(stream)
[1, 2, 3, 1, 2]

相关用法


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