Elixir Language
Карты и списки ключевых слов
Поиск…
Синтаксис
- 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"}]
Разница между картами и списками ключевых слов
Карты и списки ключевых слов имеют разные приложения. Например, карта не может иметь две клавиши с одинаковым значением и не упорядочена. И наоборот, список ключевых слов может быть немного сложнее использовать при сопоставлении шаблонов в некоторых случаях.
Вот несколько примеров использования списков сопоставлений и списков ключевых слов.
Используйте списки ключевых слов, когда:
- вам нужны элементы, которые нужно заказать
- вам нужно несколько элементов с одним и тем же ключом
Использовать карты, когда:
- вы хотите сопоставить шаблон с некоторыми ключами / значениями
- вам не нужно больше одного элемента с одним и тем же ключом
- когда вам явно не нужен список ключевых слов