Elixir library to generate combinations and permutations from Enumerable
.
See Examples.
API documentation is available at http://hexdocs.pm/combination
To use Combination with your projects, edit your mix.exs
file and add it as a dependency:
defp deps do
[
{:combination, "~> x.x.x"},
]
end
To generate combinations,
iex> 1..3 |> Combination.combine(2)
[[3, 2], [3, 1], [2, 1]]
To generate permutations,
iex> 1..3 |> Combination.permutate
[[1, 2, 3], [2, 1, 3], [3, 1, 2], [1, 3, 2], [2, 3, 1], [3, 2, 1]]
iex> 1..3 |> Combination.permutate(fn p -> Enum.at(p, 0) == 1 end)
[[1, 2, 3], [1, 3, 2]]
This software is licensed under MIT License.