Поиск…


Синтаксис

  • map =% {} // создает пустую карту
  • map =% {: a => 1,: b => 2} // создает непустую карту
  • list = [] // создает пустой список
  • list = [{: a, 1}, {: b, 2}] // создает список непустых ключевых слов

замечания

Elixir предоставляет две ассоциативные структуры данных: карты и списки ключевых слов .

Карты - это ключ-значение Elixir (также называемый словарем или хешем в других языках).

Списки ключевых слов представляют собой кортежи ключа / значения, которые связывают значение с определенным ключом. Они обычно используются как опции для вызова функции.

Создание карты

Карты - это ключ-значение Elixir (также называемый словарем или хешем в других языках). Вы создаете карту, используя синтаксис %w{} :

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

Ключами и значениями могут быть любые типы:

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

Кроме того, вы можете иметь карты со смешанными типами для ключей и значений »:

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

Когда все ключи на карте являются атомами, вы можете использовать синтаксис ключевых слов для удобства:

%{a: 1, b: 2}

Создание списка ключевых слов

Списки ключевых слов представляют собой кортежи ключа / значения, обычно используемые как опции для вызова функции.

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

В списках ключевых слов может повторяться один и тот же ключ более одного раза.

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

Ключи и значения могут быть любого типа:

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

Разница между картами и списками ключевых слов

Карты и списки ключевых слов имеют разные приложения. Например, карта не может иметь две клавиши с одинаковым значением и не упорядочена. И наоборот, список ключевых слов может быть немного сложнее использовать при сопоставлении шаблонов в некоторых случаях.

Вот несколько примеров использования списков сопоставлений и списков ключевых слов.

Используйте списки ключевых слов, когда:

  • вам нужны элементы, которые нужно заказать
  • вам нужно несколько элементов с одним и тем же ключом

Использовать карты, когда:

  • вы хотите сопоставить шаблон с некоторыми ключами / значениями
  • вам не нужно больше одного элемента с одним и тем же ключом
  • когда вам явно не нужен список ключевых слов


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow