traverse v0.1.6 Traverse.Walker
Implements traversal functions, structure is not maintained unless the traversal functions do so.
Link to this section Summary
Functions
walk
implements a top down recursive pre traversal in an arbitrary Elixir datastructure
Link to this section Types
Link to this type
t_traceable_fn()
t_traceable_fn() :: (any() -> any()) | (any(), any() -> any()) | (any(), any(), any() -> any())
Link to this section Functions
walk
implements a top down recursive pre traversal in an arbitrary Elixir datastructure.
Lists and Tuples are traversed, while maps are considered scalar data.
iex> Traverse.Walker.walk( {1, [2, %{a: 3}, 4], 5}, 0,
...> fn (n, acc) when is_number(n) -> acc + n
...> _, acc -> acc end )
12
The traversal function can avoid recursive descent by returning its accumulator value boxed in a %Cut{acc: acc}
struct.