Ist es möglich, einen Bereich zu Elixirs Enum.filter
zu übergeben. Für z.B.Wie übergebe ich einen Bereich an Enum.filter in Elixir?
Dies funktioniert
[1,2,3,4,5] |> Enum.filter(&rem(&1,2)==0) #=> [2,4]
Aber dies bedeutet nicht
[1..10] |> Enum.filter(&rem(&1,2)==0) #=> bad argument in arithmetic...
Ich habe eine Liste einen Bereich enthält, die Ich mag würde zu filtern passieren. Z.B.
[1..10, 2, 3]
Ach, das macht Sinn. Aber wie übergebe ich dann eine Filterliste mit einem Bereichselement? z.B. Hier ist meine Liste 'list = [1..10, 2, 3]', die ich wie oben beschrieben filtern möchte. – Bala
Sie können das entweder in eine flache Liste konvertieren, indem Sie 'Enum.to_list (1..10) ++ [2, 3]' verwenden und diese übergeben, oder zu 'Enum.flat_map' wechseln und innerhalb dieses Laufs 'Enum.filter' Wenn das Element ein Bereich ist, geben Sie andernfalls '[]' oder '[x]' zurück, wenn das Element eine Zahl ist. – Dogbert
Ich habe eine Implementierung der zweiten Methode hinzugefügt. – Dogbert