Filtern / Musterabgleich in verschachtelten Datenstrukturen

7

Ich bin neu in Elixir und immer noch sehr verwirrt mit Musterabgleich.

[%{name: "Deutschland", code: "DE"}, %{name: "Frankreich", code: "FR"}]

%Vor%

Ist das der beste Weg, um das Land nach Code zu finden?

    
nohayeye 30.01.2015, 15:59
quelle

3 Antworten

9

Sie können das Muster so genau nach Wunsch anpassen, wie Sie möchten:

%Vor%

Sie können auch das Enum.find/3 mit match?/2 verwenden, das besser lesbar ist (wie in einer anderen Antwort vorgeschlagen).

    
whatyouhide 30.01.2015, 16:34
quelle
7

Du könntest es so machen:

%Vor%     
Patrick Oscity 30.01.2015 16:35
quelle
2

Elixir hat keinen eingebauten Mustervergleich, um bestimmte Elemente einer Liste basierend auf ihren Werten herauszufiltern.

Sie könnten eine Musterübereinstimmung schreiben, um einzelne Elemente wie folgt zu überprüfen:

%Vor%

Und dann übergeben Sie das an Enum.find:

%Vor%

Oder um es zu verallgemeinern:

%Vor%

Ändere den zu filternden Filter und erhalte eine Ergebnisliste:

%Vor%     
greggreg 30.01.2015 21:41
quelle

Tags und Links