Split a stream into a head and tail, or peek at the first n
items in a
stream. Both without iterating the tail of the enumerable.
[http://hexdocs.pm/stream_split/]
iex> {head, tail} = StreamSplit.take_and_drop(Stream.cycle(1..3), 4)
iex> head
[1, 2, 3, 1]
iex> Enum.take(tail, 7)
[2, 3, 1, 2, 3, 1, 2]
iex> {head, new_enum} = StreamSplit.peek(Stream.cycle(1..3), 4)
iex> head
[1, 2, 3, 1]
iex> Enum.take(new_enum, 7)
[1, 2, 3, 1, 2, 3, 1]
The package can be installed as:
- Add
stream_split
to your list of dependencies inmix.exs
:
```elixir
def deps do
[{:stream_split, "~> 0.1.0"}]
end
```