Elixir Language
Mappe e elenchi di parole chiave
Ricerca…
Sintassi
- map =% {} // crea una mappa vuota
- map =% {: a => 1,: b => 2} // crea una mappa non vuota
- list = [] // crea una lista vuota
- list = [{: a, 1}, {: b, 2}] // crea un elenco di parole chiave non vuote
Osservazioni
Elixir fornisce due strutture dati associative: mappe e elenchi di parole chiave .
Le mappe sono il tipo di chiave-valore Elixir (chiamato anche dizionario o hash in altre lingue).
Gli elenchi di parole chiave sono tuple di chiave / valore che associano un valore a un determinato tasto. Vengono generalmente utilizzati come opzioni per una chiamata di funzione.
Creazione di una mappa
Le mappe sono il tipo di chiave-valore Elixir (chiamato anche dizionario o hash in altre lingue). Crei una mappa usando la sintassi %w{}
:
%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map
Chiavi e valori possono essere di qualsiasi tipo:
%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}
Inoltre, puoi avere mappe con tipi misti per chiavi e valori ":
// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}
Quando tutte le chiavi di una mappa sono atomi, puoi utilizzare la sintassi delle parole chiave per comodità:
%{a: 1, b: 2}
Creazione di un elenco di parole chiave
Gli elenchi di parole chiave sono tuple di chiave / valore, generalmente utilizzate come opzioni per una chiamata di funzione.
[{:a, 1}, {:b, 2}] // creates a non-empty keyword list
Gli elenchi di parole chiave possono avere la stessa chiave ripetuta più di una volta.
[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]
Chiavi e valori possono essere di qualsiasi tipo:
[{"a", 1}, {:a, 2}, {2, "b"}]
Differenza tra mappe e elenchi di parole chiave
Le mappe e gli elenchi di parole chiave hanno un'applicazione diversa. Ad esempio, una mappa non può avere due chiavi con lo stesso valore e non è ordinata. Viceversa, un elenco di parole chiave può essere un po 'difficile da utilizzare nella corrispondenza dei modelli in alcuni casi.
Ecco alcuni casi d'uso per mappe vs elenchi di parole chiave.
Utilizza gli elenchi di parole chiave quando:
- hai bisogno degli elementi da ordinare
- hai bisogno di più di un elemento con la stessa chiave
Utilizza le mappe quando:
- vuoi modellare la corrispondenza con alcune chiavi / valori
- non hai bisogno di più di un elemento con la stessa chiave
- ogni volta che non hai bisogno esplicitamente di un elenco di parole chiave