Elixir Language
Mapy i listy słów kluczowych
Szukaj…
Składnia
- map =% {} // tworzy pustą mapę
- map =% {: a => 1,: b => 2} // tworzy niepustą mapę
- list = [] // tworzy pustą listę
- list = [{: a, 1}, {: b, 2}] // tworzy niepustą listę słów kluczowych
Uwagi
Elixir zapewnia dwie asocjacyjne struktury danych: mapy i listy słów kluczowych .
Mapy są typem klucza i wartości Elixir (zwanym także słownikiem lub skrótem w innych językach).
Listy słów kluczowych to krotki klucza / wartości, które wiążą wartość z określonym kluczem. Są one zazwyczaj używane jako opcje wywołania funkcji.
Tworzenie mapy
Mapy są typem klucza i wartości Elixir (zwanym także słownikiem lub skrótem w innych językach). Tworzysz mapę przy użyciu składni %w{}
:
%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map
Klucze i wartości mogą być dowolnego typu:
%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}
Ponadto możesz mieć mapy z mieszanymi typami dla kluczy i wartości ":
// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}
Gdy wszystkie klucze na mapie to atomy, możesz dla wygody użyć składni słowa kluczowego:
%{a: 1, b: 2}
Tworzenie listy słów kluczowych
Listy słów kluczowych to krotki klucza / wartości, zwykle używane jako opcje wywołania funkcji.
[{:a, 1}, {:b, 2}] // creates a non-empty keyword list
Listy słów kluczowych mogą mieć ten sam klucz powtórzony więcej niż jeden raz.
[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]
Klucze i wartości mogą być dowolnego typu:
[{"a", 1}, {:a, 2}, {2, "b"}]
Różnica między mapami a listami słów kluczowych
Mapy i listy słów kluczowych mają różne zastosowania. Na przykład mapa nie może mieć dwóch kluczy o tej samej wartości i nie jest uporządkowana. I odwrotnie, w niektórych przypadkach lista słów kluczowych może być nieco trudna w dopasowywaniu wzorców.
Oto kilka przypadków użycia map w porównaniu z listami słów kluczowych.
Użyj list słów kluczowych, gdy:
- potrzebujesz elementów do zamówienia
- potrzebujesz więcej niż jednego elementu z tym samym kluczem
Korzystaj z map, gdy:
- chcesz dopasować wzór do niektórych kluczy / wartości
- nie potrzebujesz więcej niż jednego elementu z tym samym kluczem
- ilekroć nie potrzebujesz jawnie listy słów kluczowych