web-dev-qa-db-ja.com

Elixirはリストからnilを削除します

私は次の構造を得ました:

[nil,
 %{attributes: %{updated_at: ~N[2017-09-21 08:34:11.899360]},
 ...]

爪を取り除きたいです。それ、どうやったら出来るの? Enum.reduce/3しかし、うまくいきませんでした。

16
Sardoan

Enum.filter/2 が助けになります:

Enum.filter(list, & !is_nil(&1))

リストにfalseアトム(Elixirのその他のfalsey値)が存在しないことが確実な場合、フィルターは次のように簡略化される可能性があります。

Enum.filter(list, & &1)

また、(@ Dogbertにクレジット)対応する関数 Enum.reject/2 「関数enumerablefunまたはfalseを返すnilの要素を返す」

Enum.reject(list, &is_nil/1)
47