usefulness v0.0.4 Usefulness.Stream

Summary

Functions

Takes only every n-th element from the stream after skipping skip elements

Zips the stream of strings with their lengths

Functions

every_nth_element(stream, n, skip \\ 0)

Takes only every n-th element from the stream after skipping skip elements.

Examples

iex> every_nth_element(0..20, 2) |> Enum.to_list
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
iex> every_nth_element(0..20, 2, 1) |> Enum.to_list
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
iex> every_nth_element(0..20, 2, 3) |> Enum.to_list
[3, 5, 7, 9, 11, 13, 15, 17, 19]
iex> every_nth_element(0..20, 5, 2) |> Enum.to_list
[2, 7, 12, 17]
with_length(stream)

Zips the stream of strings with their lengths.

Examples

iex> with_length(["1234", "aaa", "bb", "", "55555"]) |> Enum.to_list
[{"1234", 4}, {"aaa", 3}, {"bb", 2}, {"", 0}, {"55555", 5}]