Elixir Language
Karten und Keyword-Listen
Suche…
Syntax
- map =% {} // erstellt eine leere Map
- map =% {: a => 1,: b => 2} // erstellt eine nicht leere Map
- list = [] // erstellt eine leere Liste
- list = [{: a, 1}, {: b, 2}] // erstellt eine nicht leere Keyword-Liste
Bemerkungen
Elixir bietet zwei assoziative Datenstrukturen: Karten und Keyword-Listen .
Karten sind der Elixir-Schlüsselwert (in anderen Sprachen auch als Wörterbuch oder Hash bezeichnet).
Schlüsselwortlisten sind Schlüssel- / Wertetupel, die einem bestimmten Schlüssel einen Wert zuordnen. Sie werden im Allgemeinen als Optionen für einen Funktionsaufruf verwendet.
Karte erstellen
Karten sind der Elixir-Schlüsselwert (in anderen Sprachen auch als Wörterbuch oder Hash bezeichnet). Sie erstellen eine Map mit der %w{}
-Syntax:
%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map
Schlüssel und Werte können beliebig sein:
%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}
Außerdem können Sie Karten mit gemischten Typen für Schlüssel und Werte erstellen ":
// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}
Wenn alle Schlüssel in einer Map aus Atomen bestehen, können Sie zur Vereinfachung die Schlüsselwortsyntax verwenden:
%{a: 1, b: 2}
Erstellen einer Keyword-Liste
Schlüsselwortlisten sind Schlüssel / Wert-Tupel, die normalerweise als Optionen für einen Funktionsaufruf verwendet werden.
[{:a, 1}, {:b, 2}] // creates a non-empty keyword list
Bei Schlüsselwortlisten kann derselbe Schlüssel mehrmals wiederholt werden.
[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]
Schlüssel und Werte können beliebig sein:
[{"a", 1}, {:a, 2}, {2, "b"}]
Unterschied zwischen Karten und Keyword-Listen
Karten und Keyword-Listen haben unterschiedliche Anwendung. Zum Beispiel kann eine Karte nicht zwei Schlüssel mit demselben Wert haben und sie ist nicht geordnet. Umgekehrt kann die Verwendung einer Keyword-Liste in bestimmten Fällen ein wenig schwierig sein.
Hier sind einige Anwendungsfälle für Karten- und Keyword-Listen.
Verwenden Sie Stichwortlisten, wenn:
- Sie müssen die Elemente bestellen
- Sie benötigen mehr als ein Element mit demselben Schlüssel
Karten verwenden, wenn:
- Sie möchten mit einigen Schlüsseln / Werten ein Pattern-Match durchführen
- Sie benötigen nicht mehr als ein Element mit demselben Schlüssel
- wann immer Sie nicht explizit eine Keyword-Liste benötigen