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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow