Sha256: 2ad32ab43d600b8f96ce36cd656cb3a5a958fe7008b4cb7d071c3b9190e80e6a
Contents?: true
Size: 697 Bytes
Versions: 396
Compression:
Stored size: 697 Bytes
Contents
defmodule FlattenArray do @doc """ Accept a list and return the list flattened without nil values. ## Examples iex> FlattenArray.flatten([1, [2], 3, nil]) [1,2,3] iex> FlattenArray.flatten([nil, nil]) [] """ @spec flatten(list) :: list def flatten(list) do do_flatten(list, []) end defp do_flatten([head | tail], flattened) when is_list(head) do do_flatten(head, do_flatten(tail, flattened)) end defp do_flatten([nil | tail], flattened) do do_flatten(tail, flattened) end defp do_flatten([head | tail], flattened) do [head | do_flatten(tail, flattened)] end defp do_flatten([], flattened) do flattened end end
Version data entries
396 entries across 396 versions & 1 rubygems