Zoeken…


Syntaxis

  • map =% {} // maakt een lege kaart
  • map =% {: a => 1,: b => 2} // maakt een niet-lege kaart
  • list = [] // maakt een lege lijst
  • list = [{: a, 1}, {: b, 2}] // maakt een niet-lege lijst met zoekwoorden

Opmerkingen

Elixir biedt twee associatieve gegevensstructuren: kaarten en trefwoordenlijsten .

Kaarten zijn van het Elixer-sleutel / waarde-type (ook wel woordenboek of hash in andere talen genoemd).

Zoekwoordenlijsten zijn tupels van sleutel / waarde die een waarde aan een bepaalde sleutel koppelen. Ze worden meestal gebruikt als opties voor een functieaanroep.

Een kaart maken

Kaarten zijn van het Elixer-sleutel / waarde-type (ook wel woordenboek of hash in andere talen genoemd). U maakt een kaart met de syntaxis %w{} :

%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map

Sleutels en waarden kunnen van elk type zijn:

%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}

Bovendien kunt u kaarten met gemengde types hebben voor zowel sleutels als waarden ":

// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}

Wanneer alle toetsen op een kaart atomen zijn, kunt u de trefwoordensyntaxis gebruiken voor het gemak:

%{a: 1, b: 2}

Een trefwoordenlijst maken

Zoekwoordenlijsten zijn tupels van sleutel / waarde, meestal gebruikt als opties voor een functieaanroep.

[{:a, 1}, {:b, 2}] // creates a non-empty keyword list

Zoekwoordenlijsten kunnen dezelfde sleutel meer dan eens herhalen.

[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]

Sleutels en waarden kunnen elk type zijn:

[{"a", 1}, {:a, 2}, {2, "b"}]

Verschil tussen kaarten en zoekwoordenlijsten

Kaarten en zoekwoordenlijsten hebben verschillende toepassingen. Een kaart kan bijvoorbeeld niet twee sleutels met dezelfde waarde hebben en is niet geordend. Omgekeerd kan een zoekwoordenlijst in sommige gevallen een beetje moeilijk te gebruiken zijn bij het matchen van patronen.

Hier zijn een paar use cases voor kaarten versus zoekwoordenlijsten.

Gebruik zoekwoordenlijsten wanneer:

  • u moet de elementen bestellen
  • u hebt meer dan één element met dezelfde sleutel nodig

Gebruik kaarten wanneer:

  • u wilt patroon matchen met enkele sleutels / waarden
  • u hebt niet meer dan één element met dezelfde sleutel nodig
  • wanneer u niet expliciet een zoekwoordenlijst nodig heeft


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow