Понимания встроенные фильтры поддержки, генераторы, сопоставление с образцом и несколько предложений.
Фильтр nil
значения:
for x <- list, !is_nil(x), do: x
Вызовите новую функцию для каждого значения (и автоматически отфильтруйте nil
):
for x <- list, y = _compute(x), do: y
Пример:
iex> list = [1, 2, 3, nil, 4, 5, 6, nil, 7, 8, nil, 9, nil, 0]
iex> for x <- list, !is_nil(x), do: x
# => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
iex> compute = fn x -> if x > 5, do: x end
iex> for x <- list, y = compute.(x), do: y
# => [6, 7, 8, 9]